mirror of
				https://git.davidovski.xyz/dot.git
				synced 2024-08-15 00:43:28 +00:00 
			
		
		
		
	Move to sx instead of startx
This commit is contained in:
		
							parent
							
								
									afda5cf53f
								
							
						
					
					
						commit
						b85872dfc9
					
				
					 103 changed files with 767 additions and 67 deletions
				
			
		|  | @ -15,5 +15,5 @@ case $1 in | |||
|       ;; | ||||
| esac | ||||
| 
 | ||||
| ddcutil --bus=12 setvcp 60 ${OUT[0]} & | ||||
| ddcutil --bus=13 setvcp 60 ${OUT[0]} & | ||||
| wait | ||||
|  |  | |||
							
								
								
									
										8
									
								
								scripts/iommu.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								scripts/iommu.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,8 @@ | |||
| #!/bin/bash | ||||
| shopt -s nullglob | ||||
| for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do | ||||
|     echo "IOMMU Group ${g##*/}:" | ||||
|     for d in $g/devices/*; do | ||||
|         echo -e "\t$(lspci $@ -nns ${d##*/})" | ||||
|     done; | ||||
| done; | ||||
							
								
								
									
										453
									
								
								scripts/kaomoji
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										453
									
								
								scripts/kaomoji
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,453 @@ | |||
| ʕ•ₒ•ʔ				Bear Shocked | ||||
| ʕ•ᴥ•ʔ				Bear | ||||
| ʕ ·ᴥ·ʔ				RBear | ||||
| ʕ·ᴥ· ʔ				LBear | ||||
| ʕ ꈍᴥꈍʔ			Bear Sob | ||||
| ʕ – ᴥ – ʔ			Bear Sleep | ||||
|  ʕノ•ᴥ•ʔノ ︵ ┻━┻		Bear Flip | ||||
| ʕ╮•ᴥ•ʔ╮┳━━┳			Bear Unflip | ||||
| ʕ; •`ᴥ•´ʔ			Bear Angry | ||||
| ʕ♡˙ᴥ˙♡ʔ				Bear Love | ||||
| ʕ•ᴥ•ʔ??				Bear Confused		 | ||||
| (◕‿◕) 				Happy (1) | ||||
| (^▽^) 			Joy (2) | ||||
| (¬‿¬) 				Smug Happy | ||||
| (´・ᴗ・`) 			Joy (4) | ||||
| (⌒‿⌒) 				Joy (5) | ||||
| (^‿^) 			Joy (6) | ||||
| (☆▽☆) 				Joy (7) | ||||
| (❛ᴗ❛) 				Joy (8) | ||||
| (´♡‿♡`)				Love (1) | ||||
| (◕‿◕)♡ 				Love (2)  | ||||
| (─‿‿─)♡				Love (3) | ||||
| (⌒_⌒;)				Ashamed | ||||
| (--_--)				Unimpressed | ||||
| ((╬◣﹏◢))			Angry (1) | ||||
| (#`Д´)				Angry (2) | ||||
| (◕︵◕)				Sad (1) | ||||
| (-_-)				Sad (2) | ||||
| (╥_╥)				Cry (1) | ||||
| (╥﹏╥)				Cry (2) | ||||
| (×﹏×)				Dead | ||||
| (;;;o_o)			Fear | ||||
| ┐( ̄ヘ ̄)┌			Shrug (1) | ||||
| ╮(︶︿︶)╭			Shrug (2) | ||||
| ┐(︶▽︶)┌			Shrug | ||||
| ┐( ˘_˘ )┌	 		Shrug Small | ||||
| ᕕ( ᐛ )ᕗ				Joyful March	 | ||||
| (•ิ_•ิ)?				Confused | ||||
| (¬_¬)				Doubt | ||||
| (⊙_⊙)				Shock Raw | ||||
| (°▽°)/				Greet (1) | ||||
| (^-^*)/				Greet (2) | ||||
| ( ̄▽ ̄)/			Greet (3) | ||||
| ヾ(・ω・*)			Greet (4) | ||||
| ʕ•ᴥ•ʔ/				Bear Greet | ||||
| (^_<)				Wink (1) | ||||
| (-_・)				Wink (2) | ||||
| ( ̄ハ ̄*)			Nosebleed | ||||
| ┬┴┬┴┤( ͡° ͜ʖ├┬┴┬┴			Hiding | ||||
| ε===(っ≧ω≦)っ			Fart	 | ||||
| (-_-)zzZ			Sleep | ||||
| ╰( ͡° ͜ʖ ͡°)つ──☆*:・゚		Magic | ||||
| (˘ɜ˘)♬♪♫			Whistle | ||||
| (〜 ̄▽ ̄)〜			Dance R | ||||
| 〜( ̄▽ ̄〜)			Dance L | ||||
| ( ͡° ͜ʖ ͡°)			LNeutral | ||||
| ( ͡°ʖ̯ ͡°)				LSad | ||||
| ( ͠° ͟ʖ ͡°)			LConcern | ||||
| ( ͡ᵔ ͜ʖ ͡ᵔ)			LJoy | ||||
| (⌐■_■)				Cool | ||||
| ( ^▽^)っ✂╰⋃╯			NoMoreWilly | ||||
| (╯°益°)╯彡┻━┻			TableRage | ||||
| ( ╯°□°)╯ ┻━━┻			Flip | ||||
| (╮°-°)╮┳━━┳			Unflip | ||||
| (◕ω◕)				owo (1) | ||||
| 𝕠𝕨𝕠				owo (2) | ||||
| ʕ•w•ʔ				Bear owo | ||||
| (ノ≧ ヮ ≦)ノ︵ ┻┻			CuteFlip | ||||
| ಠ_ಠ				Disaproval | ||||
| (◕ᴗ◕✿)				Flower Happy (1) | ||||
| (◕ ω ◕✿)			Flower owo | ||||
| (◕∇◕✿)				Flower Happy (2) | ||||
| (◕ᱛ ◕✿)				Flower Shocked | ||||
| (◕︿◕✿)				Flower Sad | ||||
| (◕ﬦ ◕✿)				Flower Disapointed | ||||
| (◕‸ ◕✿) *pout*			Flower Pout | ||||
| (≖ ︿ ≖ ✿)ꐦꐦ			Flower Angry | ||||
| (╯✿◕益◕)╯︵ ┻━┻		Flower Flip | ||||
| 🗡⊂(ʘ‿ʘ✿)			Flower Yandere | ||||
| (´∀`)				Laughing | ||||
|  ( ՞ ڡ ՞ )			Yum | ||||
| (▀̿Ĺ̯▀̿ ̿)				Boss | ||||
| (/-(エ)-\)			Scared Cowering 1 | ||||
| (ΟΔΟ;;)			Fear Shock Scared | ||||
| (⊃д⊂)				Scared 2 | ||||
| (/_\)			Scared Cowering | ||||
| ^•-•^				cat derp | ||||
| (>‿<)				squint happy closed eyes  | ||||
| ♡				heart | ||||
| ♫				music | ||||
| .‿.				smol happy | ||||
| ^_^ 				Overjoyed (2) | ||||
| (╯°□°)╯︵ ┻━┻			 Flipping Table (3) | ||||
| ლ(ಠ益ಠლ) 			But At What Cost | ||||
| (//_^)				 Emo (5) | ||||
| ʕ •ᴥ•ʔ 				Koala (3) | ||||
| (っ^‿^)っ 			Kirby (5) | ||||
| [¬º-°]¬ 			Zombie (2) | ||||
| (●∈∋●) 				Bird (5) | ||||
| ಠ_ಠ 				Disapproval | ||||
| T.T 				Sad (2) | ||||
| ◤◡ᴥ◡◥  				Dog (4) | ||||
| (∩`-´)⊃━☆゚.*・。゚		Wizard | ||||
| ^-^ 				Happy (7) | ||||
| ᕦ(ò_óˇ)ᕤ 			Flexing (3) | ||||
| ♪┏(・o・)┛♪			Dancing (8) | ||||
| ( ͡° ͜ʖ ͡°) 			Smiling (2) | ||||
| /人◕ ‿‿ ◕人\ 			Kyubey | ||||
| ༼ ༎ຶ ෴ ༎ຶ༽ 			Distraught | ||||
| ᒄ₍⁽ˆ⁰ˆ⁾₎ᒃ♪♬ 			Frosty the Snowman (2) | ||||
| (╯°□°)╯︵ ┻━┻			Flipping table (2) | ||||
| <(^oo^)> 			Pig (3) | ||||
| ¯\_(ツ)_/¯ 			Shrugging (2) | ||||
| U=・ x ・=U 			Rabbit (2) | ||||
| ⊂((・▽・))⊃ 			Hug me (2) | ||||
| V●ᴥ●V 				Doggy (2) | ||||
| (=^_^=)				Bunny (3) | ||||
| <コ:彡 				Squid (2) | ||||
| -_-;				Anime Sweat Drop (2) | ||||
| (°̥̥̥̥̥̥̥̥ᴗ°̥̥̥̥̥̥̥̥) 				Happy crying | ||||
| (=^・ェ・^=) 			Kitty (2) | ||||
| (((༼•̫͡•༽))) 			Ghost (2) | ||||
| (-‸ლ) 				Whoops | ||||
| (=^ェ^=) 			Cat (4) | ||||
| ( ´-ω・)︻┻┳══━一		Sniper | ||||
| ⊆☉ᴥ☉⊇ 				Bear (7) | ||||
| ༼ つ ◕_◕ ༽つ 			Take my energy | ||||
| (  ̄┏_┓ ̄)			Mustache (2) | ||||
| (;´Д`) 				Giving Up | ||||
| ( ͡° ʖ̯ ͡°)			Disgruntled | ||||
| ✌(◕‿-)✌ 			Peace (3) | ||||
| ಠ_ರೃ 				Monocle (2) | ||||
| T^T 				Crying (5) | ||||
| ᘛ⁐̤ᕐᐷ 				Chameleon | ||||
| ༼ つ ◕_◕ ༽つ 			Gimme | ||||
| ლ(ಠ益ಠ)ლ 			Anger | ||||
| (ง •̀_•́)ง 			Feisty | ||||
| (っ⌒‿⌒)っ 			Hug (3) | ||||
| ϵ( 'Θ' )϶ 			Fish (3) | ||||
| (^▽^) 			Laughing (5) | ||||
| ¯\(°_o)/¯ 			Confused (4) | ||||
| ̿’̿’\̵͇̿̿\З=( ͠° ͟ʖ ͡°)=Ε/̵͇̿̿/’̿̿ ̿ ̿ ̿ ̿ ̿ 	Outlaw | ||||
| o(^▽^)o				Pumped (2) | ||||
| .∵・(゚Д゚) 			Scared (2) | ||||
| (*☉౪ ⊙。)ノ 			Imbecile (2) | ||||
| d-(^.^)z 			Thumbs Up (2) | ||||
| (>_<) 				Painful | ||||
| (¬_¬") 				Annoyed (4) | ||||
| (´╹〽╹`) 			Worried (4) | ||||
| (o^-^o)				Pikachu (2) | ||||
| (▀̿Ĺ̯▀̿ ̿) 				Deal with it | ||||
| (∩`-´)⊃━☆゚.*・。゚ 		Magic Attack | ||||
| ꒡ᘦ̲꒡ 				Sleeping (5) | ||||
| (‾ʖ̫‾) 				Lethargic | ||||
| ^_^; 				Guilty | ||||
| ヽ(`⌒´メ)ノ			Angry (8) | ||||
| ^^ 				Blissful | ||||
| ^_^/ 				High Five (2) | ||||
| ʕ•͡ᴥ•ʔ 				Polar bear | ||||
| ❆❅❉ 				Snowing | ||||
| ヽ(★ω★)ノ 			Excited | ||||
| U^ェ^U			Puppy | ||||
| ⊂(^(工)^)⊃ 			Teddy bear | ||||
| (≧∇≦)/ 				Joyful (2) | ||||
| ◦°˚\☺/˚°◦ 			Playing in the snow | ||||
| (╯°□°)╯︵ 			ʞooqǝɔɐɟ Flipping Facebook | ||||
| (;-_-)ノ 			Giving up | ||||
| ⊙▂⊙ 				Shocked | ||||
| |∴め ϖ め∴| 			SpongeBob SquarePants | ||||
| ◔̯◔ 				Rolling Eyes | ||||
| ⊂(◜ᴥ◝)つ 			Teddy Bear | ||||
| ε=(☉_☉) 			Accidental farting | ||||
| (ಥ﹏ಥ) 				Devastated (2) | ||||
| (•͡.•͡) 				Skeptical | ||||
| ε=┏( >_<)┛ 			Running (5) | ||||
| ┬─┬︵/(.□.)╯ 		Table Flips You | ||||
| 〠_〠 				Tired (3) | ||||
| ∊ಠ_ಠ∍				Distressed | ||||
| V=(° °)=V 			Crab (2) | ||||
| ᶘ ᵒᴥᵒᶅ 				Seal (2) | ||||
| Ƹ̵̡Ӝ̵̨̄Ʒ 				Butterfly | ||||
| (- o - ) zzZ ☽ 			Sleepy | ||||
| ◯0o。(ー。ー)y 		Smoking (4) | ||||
| (。々°) 			Herp Derp | ||||
| -_-* 				Frustrated (3) | ||||
| (+[__]∙:∙)			PlayStation Portable | ||||
| (V) (°,,,,°) (V) 		Zoidberg | ||||
| /|\( ;,; )/|\ 			Bat | ||||
| ◖㈠ ω ㈠◗ 			Panda | ||||
| \m/d(^_^)b\m/ 			Rocking Out | ||||
| ヽ(゚Д゚)ノ 			Freak Out (2) | ||||
| (ノ゚0゚)ノ~ 			Yoo-Hoo | ||||
| ¤\( `⌂´ )/¤ 			Lifting weights | ||||
| (ò_ó) 				Furious | ||||
| ( ˘ ³˘)♥ 			Kiss me | ||||
| (^▽^) 			Cheerful (3) | ||||
| (⌒ ͜ʖ⌒)b 			Attentive | ||||
| ᕦ❍ᴗ❍ᕤ 				Muscular Person | ||||
| (´>_●)メ(●_<`) 		Sword Fighting | ||||
| :-Þ 				Teasing | ||||
| =( ^o^)ノ___o 		Bowling | ||||
| (#×_×) 				Dead (2) | ||||
| (。・_・)ノ”【】 			Painting | ||||
| (/。\) 			Shy (5) | ||||
| ⎰≀.☮-☮≀⎰ 			John Lennon | ||||
| ─=≡Σ(([ ⊐•̀⌂•́]⊐ 			Superhero | ||||
| (¬з¬)σ			Pointing (2) | ||||
| (・д・)} 			On The Phone (3) | ||||
| 㐈⦁ཽし⦁ཽ㐈  			Larry David | ||||
| ⨌⨀_⨀⨌ 				Benjamin Franklin | ||||
| (☄ฺ◣д◢)☄ฺ 			Scaring | ||||
| ƪ(˘▽˘ƪ) 			Worshiping | ||||
| [•.•ิ] 				Huh | ||||
| (◐‿◑) 			Crazy | ||||
| \(-_- ) 			Thank You | ||||
| (_ε_) 			Kiss my butt | ||||
| (⊃‿⊂) 				Anticipation | ||||
| (* ̄m ̄) 			Dissatisfied | ||||
| Q('.'Q) 			Put Em Up | ||||
| \(^o)(^0^)(o^)/ 		Caroling | ||||
| ( ̄~ ̄) 			Unimpressed | ||||
| ༼ঢ_༽ঢ༽ 				Perplexed | ||||
| (。♥‿♥。) 			Smitten | ||||
| ( ̄□ ̄;) 			Surprised | ||||
| (^o^) 				Singing (3) | ||||
| (:3 っ)っ 			Walrus | ||||
| ( `_)乂(_' ) 			Arm wrestle | ||||
| (ง •̀ゝ•́)ง 			Fighting (2) | ||||
| uwu 				Happy Anime Face | ||||
| └(^o^ )X( ^o^)┘ 		Best buddies | ||||
| d^_^b 				DJ | ||||
| ( --)/ ==卍 			Ninja Star | ||||
| C:。ミ 			Octopus | ||||
| (´・ω・`) 			Snubbing (2) | ||||
| ♪(●′▽`)ノ 			Good Night | ||||
| (#^.^#) 			Embarrassed (3) | ||||
| ಥ_ಥ 				Bawling (3) | ||||
| †_(゚ー゚*)β 			Exorcism | ||||
| ੯ू•́ू ໒꒱⁼³₌₃ 			Sonic the Hedgehog | ||||
| (^‿◕) 				Winking (3) | ||||
| (″・ิ_・ิ)っ 			Wait (3) | ||||
| 。◕‿◕。 				Gleeful | ||||
| ヽ( ★ω★)ノ 			Pumped up | ||||
| _〆(。。) 			Writing (2) | ||||
| (∿°○°)∿ ︵ ǝʌol 		Heartbroken | ||||
| ^;;^ 				Spider | ||||
| (⓪益⓪) 				Staring (2) | ||||
| ( ̄┏∞┓ ̄) 			Fu Manchu Man | ||||
| ( • ∀•)っθΘʘ 			Hiding Easter eggs | ||||
| _φ( °-°)/ 			Doing Homework | ||||
| ◖ර◞ʖ◟ර◗ 			Grandma | ||||
| ¬.¬ 				Whatever (3) | ||||
| ⫷ °⧭° ⫸ 			Clown | ||||
| (♥_♥) 				In Love | ||||
| >.< 				Upset (2) | ||||
| ( ◢д◣) 				Depressed (4) | ||||
| ᕕ( ᐛ )ᕗ 			Celebrating | ||||
| (¬‿¬) 				Cunning | ||||
| └(^o^)┐ 			Grooving (3) | ||||
| ~゜・_・゜~ 			Raving | ||||
| ᕦ◉▿◉ᕤ 				Owl (2) | ||||
| \(^O^)/ 			Celebrate | ||||
| (*’(OO)’*) 			Piggy (2) | ||||
| ˃ʍ˂ 				Enraged (2) | ||||
| (ू˃̣̣̣̣̣̣︿˂̣̣̣̣̣̣ ू) 			Sobbing (3) | ||||
| ( ^^)人(^^ ) 		Best Buds | ||||
| └@(・ェ・)@┐ 			Beefcake | ||||
| (☉__☉”) 			Yikes | ||||
| (╯˘ -˘ )╯ 			Praying (2) | ||||
| ε=┌( ≧▽)┘ 			Elated | ||||
| ( •_•)O °Q(•_• ) 		Playing Ping Pong | ||||
| ∋(°O°)∈ 			Blowfish | ||||
| (;一_一) 			Ashamed (4) | ||||
| {♥‿♥} 				Lovestruck | ||||
| ๏-) 				Cyclops | ||||
| (o ̄∇ ̄)=◯)`ν゜)・ 		Punching (6) | ||||
| ┬─┬ノ( º _ ºノ) 		Putting Table Back (2) | ||||
| (~_(]=--Z(◡˘) 			Pie Fight | ||||
| ((((((^_^;) 			Evading | ||||
| (/o^)/°⊥\(^o\) 		Volleyball | ||||
| -{'''|'''|'''|''']=[] 		Syringe | ||||
| [^._.^]ノ彡 			Nyan Cat | ||||
| ---(o_ _)o 			Tripping (2) | ||||
| ┬┴┬┴┤(・_├┬┴┬┴ 			Snooper | ||||
| (ㆆ_ㆆ) 			Unamused | ||||
| (✿◠‿◠)  			Hippie | ||||
| ヾ(* ̄O ̄)ツ 			Yelling | ||||
| (ɔ◔‿◔)ɔ ♥ 			Loving | ||||
| (ノ-o-)ノ 中 			Olympic Hammer Throw | ||||
| (/ω・\) 			Peering | ||||
| (´・ω・)っ由 			Gift | ||||
| [-_-]~ 				Ninja | ||||
| (シ_ _)シ 			Apology (2) | ||||
| ∋∞(●゚v゚)∞∈ 			Pigtails | ||||
| (>o<)ρミ┳┷┳゜ 		Table Tennis | ||||
| (^̮^) 				Pleased (2) | ||||
| ♪~( ̄ε ̄;) 			Whistling | ||||
| ( ̄▼ ̄) 			Big Grin | ||||
| ⋟^≏^⋞ 				Kitty Cat | ||||
| ( ̄へ ̄) 			Discontent | ||||
| (*・_・)ノ⌒* 			Throwing Away | ||||
| (*@_*#) 			Beaten Up | ||||
| (p_-) 				Thinking | ||||
| (。_°)☆				Punched | ||||
| ♥‿♥ 				Enamored | ||||
| ε-(´・`) フ 			Phew | ||||
| ༼ঢ_㇁ঢ༽ 			Bad hair day | ||||
| (づ ̄ ³ ̄)づ 			Smooch (3) | ||||
| O(<>'<>)O 			Aang | ||||
| (_ _)..ooOO 			Dreaming | ||||
| ┳┻┳° 				Ping Pong table | ||||
| ^o^ 				Mog | ||||
| (゚皿゚)r┏┳-* 			Shooting (2) | ||||
| m( ゚皿゚)m★━━ 			Laser | ||||
| ٩◔̯◔۶ 				Eye Roll With Hands Up | ||||
| ヽ(´Д`ヽミノ´Д`)ノ 		Frantic (2) | ||||
| (-ε- ) 				Pucker up (3) | ||||
| ヽ(⌐■_■)ノ♪♬ 			Boogie down | ||||
| 「(°ヘ°) 			Puzzled | ||||
| d(^_^)b 			Listening to Music | ||||
| ( -_-)旦~ 			Drinking | ||||
| <_<				Looking (4) | ||||
| (( _ _)☆ ≡〇 			Header | ||||
| ^)_(^ 				Chubby | ||||
| (๑´•.̫ • `๑) 			Blushing | ||||
| (。▼皿▼) 			Darth Vader | ||||
| (╬☉Д⊙ฺ) 				Cyborg | ||||
| (ʘ‿ʘ) 				Smile | ||||
| ε=ε=ε=┌(๑ʘ∀ʘ)┘ 			Sprinting | ||||
| ƪ(˘⌣˘)ʃ 			Raise the roof | ||||
| ( ˘︹˘ )			Smug | ||||
| (▰˘◡˘▰) 			Satisfied | ||||
| (¬、¬) 				Shifty | ||||
| ¯(°_o)/¯ 			Confused shrug | ||||
| ✖‿✖ 				Dead person | ||||
| (。_°☆\(- – ) 		Punch | ||||
| (ɔˆ ³(ˆ⌣ˆc) 			Loving couple | ||||
| (*▿▿* ƪ) 			Vampire | ||||
| o(^^o)(o^^)o 			Hopeful | ||||
| ___ψ(‥ ) 			Studying | ||||
| _φ(°-°=) 			Doing homework | ||||
| @( o・ω・)@ 			Monkey | ||||
| (╭ರ_•́) 				Inquisitive | ||||
| ੯ू‵ू ໒꒱ 				Poodle | ||||
| (*^^)^*) 			Kiss (5) | ||||
| (^~^)			Meh | ||||
| (/。\) 			Frightened | ||||
| :þ 				Playful | ||||
| (>^_^)><(^o^<) 			Hugging | ||||
| (-_ゞ 				Groggy | ||||
| (*^o^)人(^o^*) 			Buddies | ||||
| (●´ノω`)コ 			Whispering (2) | ||||
| o(´^`)o 			Reluctant | ||||
| ( つ Д `) 			Wiping Tears | ||||
| (o´・Υ・)ノ・ 			Help (2) | ||||
| (。・ˇдˇ・。) 			Pompous | ||||
| (´∪`*) 				Friendly | ||||
| ヘ(。□°)ヘ 			Psycho | ||||
| (人’∀’) 			Precious | ||||
| (っ˘ڡ˘ς) 			Yummy | ||||
| ┗(・ω・;)┛ 			How Should I Know | ||||
| (о^ω^о) 			Giggling | ||||
| (´ー`)┌フッ 			Golf Clap | ||||
| \\(<.<|>.>)// 			Panicking | ||||
| ^(#`∀´)_Ψ 			Demon | ||||
| (╯‵Д′)╯ 			Scary | ||||
| :-{  -__-: 			Stinky | ||||
| ಠᴗಠ 				Scheming | ||||
| <(; ̄ ・ ̄) 			Scratching | ||||
| \(^ ^)/ 			Glad | ||||
| (╯_╰) 				Bummed out | ||||
| ┗( ●-﹏ `。)づ 			Hurt (2) | ||||
| (-_-)# 				Girl | ||||
| 8(>_<)8 			Jealous | ||||
| (*°∀°)=3 			Infatuated (3) | ||||
| ( ^_^)/ 			Waving | ||||
| o(^_-)O 			Boxer | ||||
| {{|└(>o< )┘|}} 			Up In Arms | ||||
| (^^)// 				Applause (2) | ||||
| ( `_)?(_' ) 			Dueling | ||||
| (´~`) 				Weary | ||||
| v(^_^)v 			Victory (3) | ||||
| (ノ_ _)ノ 			Surrender | ||||
| <( ・ェ-)<} 			Bow and Arrow | ||||
| ( `o´)_θ☆ 			Kicking | ||||
| (-□-)︵* 			Blowing a Kiss | ||||
| |д・) 				Hiding (4) | ||||
| (´Д゜)/゜⌒。 			Discarding | ||||
| ʕʔ 				Bread | ||||
| (ɔ˘з˘)ɔ 			Romantic | ||||
| ʕ •́؈•̀) 				Winnie the Pooh | ||||
| (ó ì_í)=óò=(ì_í ò) 		Bro Pound | ||||
| ヾ(`ε´)ノ 			Booing | ||||
| |̲̅̅●̲̅̅|̲̅̅=̲̅̅|̲̅̅●̲̅̅| 			Stereo | ||||
| ʘ‿ʘ 				Eager | ||||
| :(¦) 				Frog | ||||
| ( ^)/占~~~ 		Banksy | ||||
| (;´༎ຶД༎ຶ`) 			Weeping (2) | ||||
| ⊂ •͡˘∠•͡˘ ⊃ 			Suspicious | ||||
| ( ° ᴗ°)~ð  			Proposal | ||||
| (๑╹ڡ╹๑) 			Tasty | ||||
| (¬_¬ ) 				Neglected | ||||
| ʕु•̫͡•ʔु 				Bear cub (2) | ||||
| ┌|°з°|┘ 			Cutting a rug | ||||
| (⊙_◎) 				Crazed | ||||
| (✖╭╮✖)				Deceased | ||||
| ←~(o `▽´ )oΨ 		Satan | ||||
| ˙ ͜ʟ˙ 				Content | ||||
| ( ˇ෴ˇ ) 			Hipster | ||||
| ♫.(◠౪◠).♫ 			Jamming to music | ||||
| ∊♡_ᴥ_♡∍ 			Puppy Love | ||||
| L(´□`L) 			Oh No! (2) | ||||
| (;´ρ`) 				Yawning | ||||
| (╯ნ_㇁ნ)╯ 			Defeated | ||||
| (.〜◍`皿′◍〜.) 			Livid (2) | ||||
| ᡊ|◔じ◔|ᡊ  			Woody Allen | ||||
| ✌(გ_㇁გ)✌ 			Ringo Starr | ||||
| ╹﹏╹ 				Cold | ||||
| ☉ϖ☉ 				Lobster | ||||
| (๑≖ิิ益≖ิ๑) 			Evil Laugh | ||||
| (((☎))) 			Phone | ||||
| (○`д´)ノシ Σ(っ゚Д゚)っ 		Chasing | ||||
| o(>< )o⌒*			Mad (3) | ||||
| ლ(´ڡ`ლ) 			Licking | ||||
| ⪿ ↂ ˒̫̮ ↂ ⫀ 			Elton John | ||||
| (•ᴥ• )́`́'́`́'́⻍ 			Porcupine | ||||
| 且_(゚◇゚;)ノ゙			Waiter | ||||
| ◖⎚∠⎚◗ 				Geek Nerd | ||||
| -ˆ ω ˆ- 			Kitten | ||||
| •:_:• 				Nagato | ||||
| ε=┌(^-^)┘ 			Skipping | ||||
| (+.+)(-.-)(_ _) 		Falling Asleep | ||||
| [ ± _ ± ] 			Sick | ||||
| 〜〜(/ ̄▽)/ 〜ф 		Chasing A Butterfly | ||||
| \(`0´)/ 			Fed Up | ||||
| ¥[*.*]¥ 			Robot | ||||
| (*・)σσ(*゜O゜) 		Poking | ||||
| ( ̄ー ̄(_ _( 		Nodding | ||||
| ▼o・_・o▼ 			Hello | ||||
| (`_^)				Wink | ||||
| /( _0_) ̄θ☆≡≡○ 		Scissor Kick | ||||
| ヽ(´ー`)┌ 			Mellow | ||||
| (^ _ ^)/~~ 			Goodbye | ||||
| (*・)「」「」 			Magic Casting | ||||
| ( `皿´)。ミ/ 			Hitting | ||||
| []゛7(∀゜*) 			Dialing | ||||
| (((((^_^) 			Teleporting | ||||
| ( ̄ー ̄)//”” 			Clapping | ||||
| (。。;)\(-_-) 			Comforting | ||||
| (*  ̄)( ̄ *)  			Kissing | ||||
| (;^_^)ッ☆( ゜o゜) 		Slapping | ||||
| \(~O~)/ 			Good Morning | ||||
| \_(´▽`)♪_/ 			Bathtub | ||||
|  | @ -1,4 +1,4 @@ | |||
| #!/bin/sh | ||||
| [ ! -s ~/.config/mpd/pid ] && mpd .config/mpd/mpd.conf | ||||
| pidof mpd || mpd .config/mpd/mpd.conf | ||||
| pidof mpdscribble || mpdscribble --conf .config/mpdscribble/mpdscribble.conf | ||||
| pidof mpd-rpc || mpd-rpc --no-idle --fork | ||||
|  |  | |||
							
								
								
									
										288
									
								
								scripts/vfetch
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										288
									
								
								scripts/vfetch
									
										
									
									
									
										Executable file
									
								
							|  | @ -0,0 +1,288 @@ | |||
| #!/usr/bin/env python3 | ||||
| 
 | ||||
| from xdg.BaseDirectory import xdg_config_home | ||||
| from enum import Enum | ||||
| import subprocess | ||||
| import platform | ||||
| import distro | ||||
| import json | ||||
| import re | ||||
| import os | ||||
| import wmctrl | ||||
| 
 | ||||
| colors = [ | ||||
|     # Regular colors. | ||||
|     "\u001b[30m", | ||||
|     "\u001b[31m", | ||||
|     "\u001b[32m", | ||||
|     "\u001b[33m", | ||||
|     "\u001b[34m", | ||||
|     "\u001b[35m", | ||||
|     "\u001b[36m", | ||||
|     "\u001b[37m", | ||||
| 
 | ||||
|     # Bright colors. | ||||
|     "\u001b[30;1m", | ||||
|     "\u001b[31;1m", | ||||
|     "\u001b[32;1m", | ||||
|     "\u001b[33;1m", | ||||
|     "\u001b[34;1m", | ||||
|     "\u001b[35;1m", | ||||
|     "\u001b[36;1m", | ||||
|     "\u001b[37;1m", | ||||
| 
 | ||||
|     # Reset. | ||||
|     "\u001b[0m" | ||||
| ] | ||||
| 
 | ||||
| decorations = [ | ||||
|     "\u001b[1m", # Bold. | ||||
|     "\u001b[4m", # Underline. | ||||
|     "\u001b[7m"  # Reversed. | ||||
| ] | ||||
| 
 | ||||
| # Creates a copy of the specified string with color and decorations added. | ||||
| def colored(string, colorIndex, decorationIndices=[]): | ||||
|     newString = colors[colorIndex] | ||||
|     for decorationIndex in decorationIndices: | ||||
|         newString += decorations[decorationIndex] | ||||
|     newString += string + colors[len(colors)-1] | ||||
|     return newString | ||||
| 
 | ||||
| # Enum for the different data types. | ||||
| class Type(str, Enum): | ||||
|     os = 'os' | ||||
|     kernel = 'kernel' | ||||
|     wm = 'wm' | ||||
|     packages = 'packages' | ||||
|     uptime = 'uptime' | ||||
| 
 | ||||
| # Enum for the different align modes. | ||||
| class AlignMode(str, Enum): | ||||
|     spaces = 'spaces' | ||||
|     center = 'center' | ||||
| 
 | ||||
| # Loads the settings from the configuration file. | ||||
| # First checks for a configuration file in ~/.config/vfetch/vfetch.conf, | ||||
| # else it defaults to the configuration file in the same folder as the script. | ||||
| def loadSettings(): | ||||
|     try: | ||||
|         file = open(xdg_config_home + '/vfetch/vfetch.conf', 'r') | ||||
|     except FileNotFoundError: | ||||
|         file = open(os.path.dirname(os.path.realpath(__file__)) + '/vfetch.conf', 'r') | ||||
|     content = file.read() | ||||
|     settings = json.loads(content) | ||||
|     file.close() | ||||
|     return settings | ||||
| 
 | ||||
| # Prints string without ending with a new line. | ||||
| def printn(string): | ||||
|     print(string, end="") | ||||
| 
 | ||||
| # Prints string at a specified position. | ||||
| def printAt(string, *position): | ||||
|     if len(position) == 1: | ||||
|         x = position[0][0] | ||||
|         y = position[0][1] | ||||
|     else: | ||||
|         x = position[0] | ||||
|         y = position[1] | ||||
|     printn("\x1b7\x1b[%d;%df%s\x1b8" % (y+1, x+1, string)) | ||||
| 
 | ||||
| # Prints the data lines. | ||||
| def printLines(lines, colorIndex, offsetX, offsetY, alignMode, alignSpace): | ||||
|     longestName = 0 | ||||
|     dataPosition = 0 | ||||
| 
 | ||||
|     if alignMode is AlignMode.spaces: | ||||
|         for line in lines: | ||||
|             position = len(line[0]) + alignSpace | ||||
|             if position > dataPosition: | ||||
|                 dataPosition = position | ||||
|     else: | ||||
|         # Finds the length of the longest name. | ||||
|         longestName = len(max(lines, key = lambda data: len(data[0]))[0]) | ||||
| 
 | ||||
|     y = 0 | ||||
|     x = offsetX | ||||
|     # Prints the lines and formats them accordingly. | ||||
|     for line in lines: | ||||
|         if alignMode is AlignMode.spaces: | ||||
|             printAt(line[1], x + dataPosition, y+offsetY) | ||||
|         elif alignMode is AlignMode.center: | ||||
|             line[0] = ' ' * (longestName - len(line[0])) + line[0] | ||||
| 
 | ||||
|         printAt(colored(line[0], colorIndex, [0]), x, y+offsetY) | ||||
|         if alignMode is AlignMode.center: | ||||
|             printAt(' ~ ' + line[1], x+len(line[0]), y+offsetY) | ||||
|         y += 1 | ||||
| 
 | ||||
| # Sets the cursor position. | ||||
| def setCursorPosition(*position, newLine=False): | ||||
|     if len(position) == 1: | ||||
|         x = position[0][0] | ||||
|         y = position[0][1] | ||||
|     else: | ||||
|         x = position[0] | ||||
|         y = position[1] | ||||
|     string = '\033[%d;%dH' % (y, x) | ||||
|     if newLine: | ||||
|         print(string) | ||||
|     else: | ||||
|         printn(string) | ||||
| 
 | ||||
| # Runs the specified terminal command. | ||||
| def termRun(command, arguments): | ||||
|     output = subprocess.run([command, arguments], text=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) | ||||
|     return output.stdout | ||||
| 
 | ||||
| # Prints ascii image. | ||||
| def printAscii(position, asciiImage): | ||||
|     setCursorPosition(position) | ||||
|     lines = asciiImage.split('\n') | ||||
|     for line in lines: | ||||
|         print(line) | ||||
| 
 | ||||
| # Gets the operating system. | ||||
| def getOS(architecture=False, removeLinux=False): | ||||
|     os = distro.linux_distribution()[0] | ||||
|     if removeLinux: | ||||
|         os = re.sub('linux', '', os, flags=re.IGNORECASE) | ||||
|     os = os.rstrip() | ||||
|     if architecture: | ||||
|         os += ' ' + platform.machine() | ||||
|     return os | ||||
| 
 | ||||
| # Gets the kernel. | ||||
| def getKernel(fullName=True): | ||||
|     kernel = platform.release() | ||||
|     if not fullName: | ||||
|         kernel = kernel.split('-')[0] | ||||
|     return kernel | ||||
| 
 | ||||
| # Gets the window manager. | ||||
| def getWM(): | ||||
|     try: | ||||
|         return wmctrl.os.environ.get('DESKTOP_SESSION') | ||||
|     except: | ||||
|         pass | ||||
|     try: | ||||
|         return wmctrl.os.environ.get('XDG_SESSION_DESKTOP') | ||||
|     except: | ||||
|         return None | ||||
| 
 | ||||
| # Gets the number of packages. | ||||
| def getPackages(displayPackageManager=False): | ||||
|     try: | ||||
|         packages = termRun('pacman', '-Qq') | ||||
|         string = str(len(packages.split('\n'))) | ||||
|         if displayPackageManager: | ||||
|             string += ' (pacman)' | ||||
|         return string | ||||
|     except: | ||||
|         return None | ||||
| 
 | ||||
| # Gets the machine uptime. | ||||
| def getUptime(): | ||||
|     with open('/proc/uptime', 'r') as f: | ||||
|         uptime_seconds = float(f.readline().split()[0]) | ||||
|         hours = uptime_seconds / 3600 | ||||
|         minutes = (hours - int(hours)) * 60 | ||||
|         hours = int(hours) | ||||
|         minutes = int(minutes) | ||||
|         string = '' | ||||
|         if hours != 0: | ||||
|             string += str(hours) + 'h ' | ||||
|         if minutes != 0 or hours == 0: | ||||
|             string += str(minutes) + 'm' | ||||
|     return string | ||||
| 
 | ||||
| # Gets the data for the specified data type. | ||||
| def getData(type, settings): | ||||
|     data = { | ||||
|         Type.os: getOS(settings['displayArchitecture'], settings['removeLinux']), | ||||
|         Type.kernel: getKernel(settings['kernelFullName']), | ||||
|         Type.wm: getWM(), | ||||
|         Type.packages: getPackages(settings['displayPackageManager']), | ||||
|         Type.uptime: getUptime() | ||||
|     }.get(type, None) | ||||
| 
 | ||||
|     if data is None: | ||||
|         return None | ||||
| 
 | ||||
|     name = { | ||||
|         Type.os: [ 'OS', '' ], | ||||
|         Type.kernel: [ 'Kernel', '' ], | ||||
|         Type.wm: [ 'WM', '缾' ], | ||||
|         Type.packages: [ 'Packages', '' ], | ||||
|         Type.uptime: [ 'Uptime', '' ] | ||||
|     }.get(type, None)[int(settings['iconMode'])] | ||||
| 
 | ||||
|     if settings['lowercase']: | ||||
|         name = name.lower() | ||||
|         data = data.lower() | ||||
| 
 | ||||
|     return [name, data] | ||||
| 
 | ||||
| # Gets the size of the specified ascii image. | ||||
| def asciiSize(asciiImage): | ||||
|     x = 0 | ||||
|     split = asciiImage.split('\n') | ||||
|     for line in split: | ||||
|         if len(line) > x: | ||||
|             x = len(line) | ||||
|     return [x, len(split)] | ||||
| 
 | ||||
| # Trims the specified ascii image of empty lines and trailing whitespaces. | ||||
| def trimAscii(asciiImage): | ||||
|     lines = asciiImage.split('\n') | ||||
|     string = '' | ||||
|     for line in lines: | ||||
|         trimmedString = line.rstrip() | ||||
|         if len(trimmedString) != 0: | ||||
|             string += trimmedString + '\n' | ||||
|     string = string[:-1] # Removes last newline. | ||||
|     return string | ||||
| 
 | ||||
| # Loads the ascii image at the specified path. | ||||
| def loadAsciiImage(path): | ||||
|     file = open(path, 'r') | ||||
|     asciiImage = trimAscii(file.read()) | ||||
|     file.close() | ||||
|     return asciiImage | ||||
| 
 | ||||
| settings = loadSettings() | ||||
| 
 | ||||
| displayAscii = settings['displayAscii'] | ||||
| offset = settings['offset'] | ||||
| 
 | ||||
| # Loads the data lines. If the data is invalid (None) it does not get added. | ||||
| lines = [] | ||||
| for dataType in settings['data']: | ||||
|     data = getData(dataType, settings) | ||||
|     if data is not None: | ||||
|         lines.append(data) | ||||
| 
 | ||||
| # Loads the ascii image if the option is set for it. | ||||
| if displayAscii: | ||||
|     asciiImage = loadAsciiImage(settings['asciiImage']) | ||||
|     size = asciiSize(asciiImage) | ||||
|     offset[0] += size[0] | ||||
|     finalPosition = [0, size[1]] | ||||
| else: | ||||
|     finalPosition = [0, len(lines)+offset[1]] | ||||
| 
 | ||||
| # Makes the prompt after the script finishes have a blank line before it. | ||||
| finalPosition[1] += 1 | ||||
| 
 | ||||
| os.system('clear') | ||||
| 
 | ||||
| if displayAscii: | ||||
|     printAscii([0,0], asciiImage) | ||||
| 
 | ||||
| alignMode = AlignMode(settings['alignMode']) | ||||
| 
 | ||||
| printLines(lines, settings['colorIndex'], offset[0], offset[1], alignMode, settings['alignSpace']) | ||||
| 
 | ||||
| # Sets the final cursor position for the prompt to end up at. | ||||
| setCursorPosition(finalPosition, newLine=True) | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue