From ea9b73a5fa73eb50145a10d997fdaed53dc86705 Mon Sep 17 00:00:00 2001 From: Zastian Pretorius Date: Wed, 6 Jul 2022 01:39:13 +0100 Subject: [PATCH] added penrode config and changed over to penrose in xinitrc --- .gitignore | 1 + autorandr/.config/autorandr/docked/config | 18 +- autorandr/.config/autorandr/docked/setup | 4 +- autorandr/.config/autorandr/laptop/config | 11 +- autorandr/.config/autorandr/laptop/setup | 2 +- penrose/.config/penrose/Cargo.lock | 688 ++++++++++++++++++++++ penrose/.config/penrose/Cargo.toml | 10 + penrose/.config/penrose/src/main.rs | 174 ++++++ polybar/.config/polybar/config | 418 ++++++++++--- polybar/.config/polybar/config.back | 209 +++++++ xorg/.xinitrc | 4 +- zsh/.config/zsh/.zshrc | 2 + 12 files changed, 1447 insertions(+), 94 deletions(-) create mode 100644 .gitignore create mode 100644 penrose/.config/penrose/Cargo.lock create mode 100644 penrose/.config/penrose/Cargo.toml create mode 100644 penrose/.config/penrose/src/main.rs create mode 100644 polybar/.config/polybar/config.back diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b403cbe --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/penrose/.config/penrose/target diff --git a/autorandr/.config/autorandr/docked/config b/autorandr/.config/autorandr/docked/config index 430e4e3..6d99d77 100644 --- a/autorandr/.config/autorandr/docked/config +++ b/autorandr/.config/autorandr/docked/config @@ -1,11 +1,25 @@ -output eDP-1 +output eDP crtc 1 mode 1920x1080 pos 0x0 rate 60.01 -output HDMI-1 +x-prop-max_bpc 16 +x-prop-non_desktop 0 +x-prop-scaling_mode None +x-prop-tearfree on +x-prop-underscan off +x-prop-underscan_hborder 0 +x-prop-underscan_vborder 0 +output HDMI-A-0 crtc 0 mode 1920x1080 pos 1920x0 primary rate 60.00 +x-prop-max_bpc 8 +x-prop-non_desktop 0 +x-prop-scaling_mode None +x-prop-tearfree on +x-prop-underscan off +x-prop-underscan_hborder 0 +x-prop-underscan_vborder 0 diff --git a/autorandr/.config/autorandr/docked/setup b/autorandr/.config/autorandr/docked/setup index b0656d0..65f5452 100644 --- a/autorandr/.config/autorandr/docked/setup +++ b/autorandr/.config/autorandr/docked/setup @@ -1,2 +1,2 @@ -HDMI-1 00ffffffffffff0010ac15a14c4437331e1c010380301b78eac7b5a756539c27105054a54b00714f8180a9c0d1c00101010101010101023a801871382d40582c4500dc0b1100001e000000ff00484b57503950320a2020202020000000fc0044454c4c205032323139480a20000000fd00384c1e5311000a2020202020200137020317b14c9005040302071601141f121365030c001000023a801871382d40582c4500dc0b1100001e011d8018711c1620582c2500dc0b1100009e011d007251d01e206e285500dc0b1100001e8c0ad08a20e02d10103e9600dc0b110000180000000000000000000000000000000000000000000000000000000000000000bd -eDP-1 00ffffffffffff000daef515000000000f1b0104952213780228659759548e271e505400000001010101010101010101010101010101b43b804a71383440503c680058c110000018000000fe004e3135364847412d4541330a20000000fe00434d4e0a202020202020202020000000fe004e3135364847412d4541330a2000d5 +HDMI-A-0 00ffffffffffff0010acdad04c4c46310e1d010380351e78ea0565a756529c270f5054a54b00714f8180a9c0d1c00101010101010101023a801871382d40582c45000f282100001e000000ff00374235313256320a2020202020000000fc0044454c4c205032343139480a20000000fd00384c1e5311000a2020202020200143020317b14c9005040302071601141f121365030c001000023a801871382d40582c45000f282100001e011d8018711c1620582c25000f282100009e011d007251d01e206e2855000f282100001e8c0ad08a20e02d10103e96000f282100001800000000000000000000000000000000000000000000000000000000000000003d +eDP 00ffffffffffff000daef515000000000f1b0104952213780228659759548e271e505400000001010101010101010101010101010101b43b804a71383440503c680058c110000018000000fe004e3135364847412d4541330a20000000fe00434d4e0a202020202020202020000000fe004e3135364847412d4541330a2000d5 diff --git a/autorandr/.config/autorandr/laptop/config b/autorandr/.config/autorandr/laptop/config index 190ba2e..3529428 100644 --- a/autorandr/.config/autorandr/laptop/config +++ b/autorandr/.config/autorandr/laptop/config @@ -1,8 +1,15 @@ -output HDMI-1 +output HDMI-A-0 off -output eDP-1 +output eDP crtc 0 mode 1920x1080 pos 0x0 primary rate 60.01 +x-prop-max_bpc 16 +x-prop-non_desktop 0 +x-prop-scaling_mode None +x-prop-tearfree on +x-prop-underscan off +x-prop-underscan_hborder 0 +x-prop-underscan_vborder 0 diff --git a/autorandr/.config/autorandr/laptop/setup b/autorandr/.config/autorandr/laptop/setup index 31dea95..d94deb9 100644 --- a/autorandr/.config/autorandr/laptop/setup +++ b/autorandr/.config/autorandr/laptop/setup @@ -1 +1 @@ -eDP-1 00ffffffffffff000daef515000000000f1b0104952213780228659759548e271e505400000001010101010101010101010101010101b43b804a71383440503c680058c110000018000000fe004e3135364847412d4541330a20000000fe00434d4e0a202020202020202020000000fe004e3135364847412d4541330a2000d5 +eDP 00ffffffffffff000daef515000000000f1b0104952213780228659759548e271e505400000001010101010101010101010101010101b43b804a71383440503c680058c110000018000000fe004e3135364847412d4541330a20000000fe00434d4e0a202020202020202020000000fe004e3135364847412d4541330a2000d5 diff --git a/penrose/.config/penrose/Cargo.lock b/penrose/.config/penrose/Cargo.lock new file mode 100644 index 0000000..b13a050 --- /dev/null +++ b/penrose/.config/penrose/Cargo.lock @@ -0,0 +1,688 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "anyhow" +version = "1.0.58" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cairo-rs" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5c0f2e047e8ca53d0ff249c54ae047931d7a6ebe05d00af73e0ffeb6e34bdb8" +dependencies = [ + "bitflags", + "cairo-sys-rs", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ed2639b9ad5f1d6efa76de95558e11339e7318426d84ac4890b86c03e828ca7" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "cc" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "time", + "winapi", +] + +[[package]] +name = "either" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be" + +[[package]] +name = "futures-channel" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" +dependencies = [ + "futures-core", +] + +[[package]] +name = "futures-core" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" + +[[package]] +name = "futures-executor" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-macro" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-task" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" + +[[package]] +name = "futures-util" +version = "0.3.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" +dependencies = [ + "futures-core", + "futures-macro", + "futures-task", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "glib" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c685013b7515e668f1b57a165b009d4d28cb139a8a989bbd699c10dad29d0c5" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "futures-util", + "glib-macros", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", +] + +[[package]] +name = "glib-macros" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41486a26d1366a8032b160b59065a59fb528530a46a49f627e7048fb8c064039" +dependencies = [ + "anyhow", + "heck", + "itertools", + "proc-macro-crate", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "glib-sys" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1" +dependencies = [ + "libc", + "system-deps", +] + +[[package]] +name = "gobject-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c" +dependencies = [ + "glib-sys", + "libc", + "system-deps", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "itertools" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" +dependencies = [ + "either", +] + +[[package]] +name = "libc" +version = "0.2.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" + +[[package]] +name = "log" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "nix" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a" +dependencies = [ + "bitflags", + "cc", + "cfg-if", + "libc", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "once_cell" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1" + +[[package]] +name = "pango" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9937068580bebd8ced19975938573803273ccbcbd598c58d4906efd4ac87c438" +dependencies = [ + "bitflags", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24d2650c8b62d116c020abd0cea26a4ed96526afda89b1c4ea567131fdefc890" +dependencies = [ + "glib-sys", + "gobject-sys", + "libc", + "system-deps", +] + +[[package]] +name = "pangocairo" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00f5ae67a05a5e023f09f64e9a71c845274d4b82dedee237b70425811885e883" +dependencies = [ + "bitflags", + "cairo-rs", + "cairo-sys-rs", + "glib", + "glib-sys", + "gobject-sys", + "libc", + "pango", + "pango-sys", + "pangocairo-sys", +] + +[[package]] +name = "pangocairo-sys" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94ccc97f698c2f0233b84e5ca676893a1e676785b60eec700b9c0e6dcd0feb98" +dependencies = [ + "cairo-sys-rs", + "glib-sys", + "libc", + "pango-sys", + "system-deps", +] + +[[package]] +name = "penrose" +version = "0.1.0" +dependencies = [ + "penrose 0.2.1", + "simplelog", +] + +[[package]] +name = "penrose" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c99eba539000844e97310340f43654453286c81da95639436d9a41f738fdab06" +dependencies = [ + "bitflags", + "cairo-rs", + "cairo-sys-rs", + "nix", + "pango", + "pangocairo", + "penrose_keysyms", + "penrose_proc", + "strum 0.20.0", + "strum_macros 0.20.1", + "thiserror", + "tracing", + "xcb", +] + +[[package]] +name = "penrose_keysyms" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a574df0fe3d7e0bb1fd297dd722d8aea8ea33a734d862451509814062bec2d6" +dependencies = [ + "strum 0.20.0", + "strum_macros 0.20.1", +] + +[[package]] +name = "penrose_proc" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a4e9438e0d3ed63bbd08fd0838bb35d94ef298f6705144b27608a5a22f1ebb9" +dependencies = [ + "penrose_keysyms", + "proc-macro2", + "quote", + "rustversion", + "strum 0.20.0", + "syn", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rustversion" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0a5f7c728f5d284929a1cccb5bc19884422bfe6ef4d6c409da2c41838983fcf" + +[[package]] +name = "serde" +version = "1.0.138" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1578c6245786b9d168c5447eeacfb96856573ca56c9d68fdcf394be134882a47" + +[[package]] +name = "simplelog" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b2736f58087298a448859961d3f4a0850b832e72619d75adc69da7993c2cd3c" +dependencies = [ + "chrono", + "log", + "termcolor", +] + +[[package]] +name = "slab" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" + +[[package]] +name = "strum" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b" + +[[package]] +name = "strum" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7318c509b5ba57f18533982607f24070a55d353e90d4cae30c467cdb2ad5ac5c" +dependencies = [ + "strum_macros 0.20.1", +] + +[[package]] +name = "strum_macros" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "strum_macros" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8bc6b87a5112aeeab1f4a9f7ab634fe6cbefc4850006df31267f4cfb9e3149" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "syn" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "system-deps" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b" +dependencies = [ + "heck", + "pkg-config", + "strum 0.18.0", + "strum_macros 0.18.0", + "thiserror", + "toml", + "version-compare", +] + +[[package]] +name = "termcolor" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "thiserror" +version = "1.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi", + "winapi", +] + +[[package]] +name = "toml" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +dependencies = [ + "serde", +] + +[[package]] +name = "tracing" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a400e31aa60b9d44a52a8ee0343b5b18566b03a8321e0d321f695cf56e940160" +dependencies = [ + "cfg-if", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11c75893af559bc8e10716548bdef5cb2b983f8e637db9d0e15126b61b484ee2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-core" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b7358be39f2f274f322d2aaed611acc57f382e8eb1e5b48cb9ae30933495ce7" +dependencies = [ + "once_cell", +] + +[[package]] +name = "unicode-ident" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" + +[[package]] +name = "unicode-segmentation" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" + +[[package]] +name = "version-compare" +version = "0.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "xcb" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62056f63138b39116f82a540c983cc11f1c90cd70b3d492a70c25eaa50bd22a6" +dependencies = [ + "libc", + "log", +] diff --git a/penrose/.config/penrose/Cargo.toml b/penrose/.config/penrose/Cargo.toml new file mode 100644 index 0000000..fdc460e --- /dev/null +++ b/penrose/.config/penrose/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "penrose" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +penrose = "0.2" +simplelog = "0.8" diff --git a/penrose/.config/penrose/src/main.rs b/penrose/.config/penrose/src/main.rs new file mode 100644 index 0000000..369becb --- /dev/null +++ b/penrose/.config/penrose/src/main.rs @@ -0,0 +1,174 @@ +#[macro_use] +extern crate penrose; + +use penrose::{ + contrib::{ + actions::{focus_or_spawn,update_monitors_via_xrandr}, + extensions::Scratchpad, + }, + core::{ + config::Config, + helpers::index_selectors, + hooks::Hook, + data_types::{Region,RelativePosition}, + layout::{side_stack, Layout, LayoutConf}, + manager::WindowManager, + xconnection::XConn, + }, + logging_error_handler, spawn, + xcb::{XcbConnection, XcbHooks}, + Backward, Forward, Less, More, Result, Selector, +}; + +use simplelog::{LevelFilter, SimpleLogger}; + +// Replace these with your preferred terminal and program launcher +const TERMINAL: &str = "alacritty"; +const LAUNCHER: &str = "rofi -no-lazy-greb -show drun -icon-theme 'Papirus' -show-icons"; + +struct StartupHook {} +impl Hook for StartupHook { + fn startup(&mut self, wm: &mut WindowManager) -> Result<()> { + if wm.n_screens() == 1 { + spawn!("polybar --reload barbase2") + } + else { + spawn!("polybar --reload barbase1"); + spawn!("polybar --reload barbase2") + }; + spawn!("xss-lock /home/$USER/.config/scripts/betterlockscreen.sh"); + spawn!("picom --backend glx"); + spawn!("nitrogen --restore") + } +} + + +struct Monitors {} +impl Hook for Monitors +where + X: XConn, +{ + fn randr_notify(&mut self, wm: &mut WindowManager) -> Result<()> { + update_monitors_via_xrandr("HDMI-A-0", "eDP", RelativePosition::Left); + if wm.n_screens() != 1 { + spawn!("polybar --reload barbase1") + } + else { + spawn!("echo 'Only one screen connected'") + } + } +} + + + + +fn main() -> penrose::Result<()> { + // Initialise the logger (use LevelFilter::Debug to enable debug logging) + if let Err(e) = SimpleLogger::init(LevelFilter::Info, simplelog::Config::default()) { + panic!("unable to set log level: {}", e); + }; + + let sp = Scratchpad::new(TERMINAL, 0.8, 0.8); + + let hooks: XcbHooks = vec![ + Box::new(StartupHook {}), + Box::new(Monitors {}), + sp.get_hook(), + ]; + + + + + // Created at startup. See keybindings below for how to access them + let mut config_builder = Config::default().builder(); + config_builder + .workspaces(vec!["1", "2", "3", "4", "5", "6", "7", "8", "9"]) + // Windows with a matching WM_CLASS will always float + .floating_classes(vec!["dmenu", "dunst", "polybar"]) + // Client border colors are set based on X focus + .focused_border("#8218c4")? + .unfocused_border("#1A1A1A")? + .gap_px(0) + .top_bar(true) + .bar_height(32); + + // Default number of clients in the main layout area + let n_main = 1; + + // Default percentage of the screen to fill with the main area of the layout + let ratio = 0.5; + + config_builder.layouts(vec![Layout::new( + "[side]", + LayoutConf::default(), + side_stack, + n_main, + ratio, + )]); + let config = config_builder.build().unwrap(); + let key_bindings = gen_keybindings! { + // Program launchers + "A-d" => run_external!(LAUNCHER); + "A-Return" => run_external!(TERMINAL); + + // Exit Penrose (important to remember this one!) + "A-S-q" => run_internal!(exit); + + // client management + "A-j" => run_internal!(cycle_client, Forward); + "A-k" => run_internal!(cycle_client, Backward); + "A-S-j" => run_internal!(drag_client, Forward); + "A-S-k" => run_internal!(drag_client, Backward); + "A-S-f" => run_internal!(toggle_client_fullscreen, &Selector::Focused); + "A-q" => run_internal!(kill_client); + + // workspace management + "A-Tab" => run_internal!(toggle_workspace); + "A-M-period" => run_internal!(cycle_workspace, Forward); + "A-M-comma" => run_internal!(cycle_workspace, Backward); + + // move cursor between screens + "A-l" => run_internal!(cycle_screen, Forward); + "A-h" => run_internal!(cycle_screen, Backward); + + // Layout management + "A-grave" => run_internal!(cycle_layout, Forward); + "A-S-grave" => run_internal!(cycle_layout, Backward); + "M-A-Up" => run_internal!(update_max_main, More); + "M-A-Down" => run_internal!(update_max_main, Less); + "A-S-h" => run_internal!(update_main_ratio, More); + "A-S-l" => run_internal!(update_main_ratio, Less); + + + "A-backslash" => sp.toggle(); + + //print screen + "A-p" => run_external!("flameshot gui"); + + //controll audio + "XF86AudioMute" => run_external!("pamixer -t"); + "XF86AudioLowerVolume" => run_external!("pamixer --allow-boost -d 5"); + "XF86AudioRaiseVolume" => run_external!("pamixer --allow-boost -i 5"); + "XF86AudioPlay" => run_external!("playerctl play-pause"); + "XF86AudioNext" => run_external!("playerctl next"); + "XF86AudioPrev" => run_external!("playerctl previous"); + "XF86AudioStop" => run_external!("playerctl stop"); + + //my own keybindings + "A-f" => run_external!("pcmanfm"); + "A-b" => focus_or_spawn("qutebrowser","qutebrowser"); + "M-l" => run_external!("betterlockscreen -l"); + + + map: { "1", "2", "3", "4", "5", "6", "7", "8", "9" } to index_selectors(9) => { + "A-{}" => focus_workspace (REF); + "A-S-{}" => client_to_workspace (REF); + }; + }; + + let conn = XcbConnection::new()?; + + let mut wm = WindowManager::new(config, conn, hooks, logging_error_handler()); + wm.init()?; + wm.grab_keys_and_run(key_bindings, map! {}) +} diff --git a/polybar/.config/polybar/config b/polybar/.config/polybar/config index e86c858..39fe707 100644 --- a/polybar/.config/polybar/config +++ b/polybar/.config/polybar/config @@ -1,19 +1,36 @@ +;========================================================== +; +; +; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗ +; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗ +; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝ +; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗ +; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║ +; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ +; +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains a lot of information +; +;========================================================== + [colors] background = #282a36 foreground = #f8f8f2 background-alt = #99444444 -foreground-alt = #2a2a2a +foreground-alt = #f8f8f2 primary = #6e5991 secondary = #363949 -alert = #FF0000 +alert = #bd2c40 -[bar/MainWithTray] -width = ${env:width} -offset-x = ${env:offsetx} +[bar/barbase1] monitor = HDMI-A-0 -monitor-fallback =eDP -height = 27 -fixed-center = true +offset-y = -2 +;width = 100% +height = 29 +fixed-center = false background = ${colors.background} foreground = ${colors.foreground} line-size = 3 @@ -24,28 +41,24 @@ padding-left = 0 padding-right = 2 module-margin-left = 1 module-margin-right = 2 -font-0 = Ubuntu:size=11;2 -font-1 = Iosevka:size=20;3 -font-2 = FontAwesome:style=Regular:pixelsize=11;1 -font-3 = FontAwesome:style=Solid:pixelsize=11;1 -font-4 = FontAwesome:pixelsize=11;1 -font-5 = siji:pixelsize=10;1 -font-6 = Source Han Sans JP:pixelsize=11;1 -label-font = +font-0 = Ubuntu:pixelsize=10;1 +font-1 = Source Han Sans JP:pixelsize=10;1 +font-2 = siji:pixelsize=10;1 modules-left = ewmh -modules-center = date -modules-right = filesystem wlan pkgupdates-available pulseaudio memory cpu battery +modules-center = +modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date powermenu tray-position = right tray-padding = 2 cursor-click = pointer cursor-scroll = ns-resize -[bar/SeconderyWitNoTray] -width = ${env:width} -offset-x = ${env:offsetx} + +[bar/barbase2] monitor = eDP -height = 27 -fixed-center = true +offset-y = -2 +;width = 100% +height = 29 +fixed-center = false background = ${colors.background} foreground = ${colors.foreground} line-size = 3 @@ -56,17 +69,14 @@ padding-left = 0 padding-right = 2 module-margin-left = 1 module-margin-right = 2 -font-0 = Ubuntu:size=11;2 -font-1 = Iosevka:size=20;3 -font-2 = Font Awesome 5 Free:style=Regular:pixelsize=11;1 -font-3 = Font Awesome 5 Free:style=Solid:pixelsize=11;1 -font-4 = Font Awesome 5 Brands:pixelsize=11;1 -font-5 = siji:pixelsize=10;1 -font-6 = Source Han Sans JP:pixelsize=13;1 -label-font = +font-0 = Ubuntu:pixelsize=10;1 +font-1 = Source Han Sans JP:pixelsize=10;1 +font-2 = siji:pixelsize=10;1 modules-left = ewmh -modules-center = date -modules-right = filesystem wlan pulseaudio memory cpu battery +modules-center = +modules-right = filesystem pulseaudio xkeyboard memory cpu wlan eth battery date powermenu +tray-position = right +tray-padding = 2 cursor-click = pointer cursor-scroll = ns-resize @@ -102,51 +112,209 @@ label-empty-foreground = ${colors.fg} label-empty-underline = ${colors.cyan} label-empty-padding = 1 +[module/xwindow] +type = internal/xwindow +label = %title:0:30:...% + +[module/xkeyboard] +type = internal/xkeyboard +blacklist-0 = num lock + +format-prefix = " " +format-prefix-foreground = ${colors.foreground-alt} +format-prefix-underline = ${colors.secondary} + +label-layout = %layout% +label-layout-underline = ${colors.secondary} + +label-indicator-padding = 2 +label-indicator-margin = 1 +label-indicator-background = ${colors.secondary} +label-indicator-underline = ${colors.secondary} + [module/filesystem] type = internal/fs interval = 25 + mount-0 = /home + label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% label-unmounted = %mountpoint% not mounted label-unmounted-foreground = ${colors.foreground-alt} +[module/bspwm] +type = internal/bspwm + +label-focused = %index% +label-focused-background = ${colors.background-alt} +label-focused-underline= ${colors.primary} +label-focused-padding = 2 + +label-occupied = %index% +label-occupied-padding = 2 + +label-urgent = %index%! +label-urgent-background = ${colors.alert} +label-urgent-padding = 2 + +label-empty = %index% +label-empty-foreground = ${colors.foreground-alt} +label-empty-padding = 2 + +; Separator in between workspaces +; label-separator = | + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = false + +; Only show workspaces on the same output as the bar +;pin-workspaces = true + +label-mode-padding = 2 +label-mode-foreground = #000 +label-mode-background = ${colors.primary} + +; focused = Active workspace on focused monitor +label-focused = %index% +label-focused-background = ${module/bspwm.label-focused-background} +label-focused-underline = ${module/bspwm.label-focused-underline} +label-focused-padding = ${module/bspwm.label-focused-padding} + +; unfocused = Inactive workspace on any monitor +label-unfocused = %index% +label-unfocused-padding = ${module/bspwm.label-occupied-padding} + +; visible = Active workspace on unfocused monitor +label-visible = %index% +label-visible-background = ${self.label-focused-background} +label-visible-underline = ${self.label-focused-underline} +label-visible-padding = ${self.label-focused-padding} + +; urgent = Workspace with urgency hint set +label-urgent = %index% +label-urgent-background = ${module/bspwm.label-urgent-background} +label-urgent-padding = ${module/bspwm.label-urgent-padding} + +; Separator in between workspaces +; label-separator = | + + +[module/mpd] +type = internal/mpd +format-online = + +icon-prev =  +icon-stop =  +icon-play =  +icon-pause =  +icon-next =  + +label-song-maxlen = 25 +label-song-ellipsis = true + +[module/xbacklight] +type = internal/xbacklight + +format =