Thats the one
Would be awesome if plasma ships with that wallpaper per default!
bspwm Iām in love))
Saying it here because I didnāt want to reply to a two-year-old post LOL. Thank you for pointing me to āfigletā, one of the coolest terminal utilities I have ever come across! I always wanted to do this type of thing and programmed it in vain a long time ago for MS-DOS.
The top two photos are my main session, XFCE with Openbox as the WM. My second screen is a 32" TV so it is much bigger than my 2012 Macbook Pro display. The second one is just the laptop screen since it was so litle it was hard to see . The lower picture is my Openbox only session that I have been playing around with to get a little smarter with Linux. I still have a lot of functionality to tweak, but I do have it looking more usable now. Its more for fun, but maybe if I get it fully set up I might use it more since it does use less resources, not by much though.
Needed a faster machine for remote working, my old lappy wasnāt enough anymore, all those rdp sessions and stuffā¦ so I got this old boy reassembled and get ready to work.
Way faster than the lappy, not that fancy though, basic XFCE and a really old screen, love the output anyway.
I think tomorrow may be the day I try and setup a 3rd free monitor to go with my thinkpad. Sunday football is going to be awesome.
For window manager + vim users who like to keep their fingers on the home row as much as possible, I find it quite useful to write a simple script to temporarily map vim keys (hjkl) to Up, Down, Left, and Right keys. The same script could also be used to change the vim keys back to the default, creating a ātoggle-likeā effect.
Wallpaper:
is the panel still i3-blocks or already polybar?
Like the two off icons for BT and mic ā¦ what scripts you use for them?
Itās still i3blocks
actually. The toggle buttons are all scripts that I wrote myself.
i3-blocks.conf
# List of valid properties:
#
# align
# color
# command
# full_text
# instance
# interval
# label
# min_width
# name
# separator
# separator_block_width
# short_text
# signal
# urgent
# Global properties
# The top properties below are applied to every block, but can be overridden.
separator=false
markup=pango
#Define Signals:
# 21 = Change Audio Volume + Icon
# 22 = Change Brightness
# 23 = Capslock Toggle
# 24 = Screen timeout indicator
# 25 = Battery/AC
# 28 = vim-style scrolling mode
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
[internet-traffic]
command=~/.config/i3/scripts/internet-traffic
interval=1
separator_block_width=10
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
# Memory usage
[memory]
label=
command=~/.config/i3/scripts/ram-usage
interval=2
separator_block_width=10
align=center
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
[battery]
command=~/.config/i3/scripts/battery
interval=10
signal=25
separator_block_width=10
align=center
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
[audio-icon]
command=~/.config/i3/scripts/audio-icon
interval=once
color=#2eb398
signal=21
separator_block_width=5
[audio-volume]
command=~/.config/i3/scripts/audio-volume
color=#2eb398
interval=once
signal=21
separator_block_width=10
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
[brightness-icon]
full_text=<span size='large'>ļ</span>
color=#fcae1e
[brightness-level]
command=~/.config/i3/scripts/brightness
color=#fcae1e
interval=once
signal=22
separator_block_width=10
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
[wifi-indicator]
command=~/.config/i3/scripts/wifi-indicator
interval=3
separator_block_width=5
[ethernet-indicator]
command=~/.config/i3/scripts/ethernet-indicator
interval=3
separator_block_width=5
[bluetooth-indicator]
command=~/.config/i3/scripts/bluetooth-indicator
interval=3
separator_block_width=10
[simple-divider]
full_text=<b>: :</b>
color=#717171
separator_block_width=10
#Capslock Indicator
[caps-lock-indicator]
command=~/.config/i3/scripts/caps-lock-indicator
interval=once
signal=20
separator_block_width=0
[vim-scrollkeys-indicator]
command=~/.config/i3/scripts/vim-scrollkeys-indicator
interval=once
signal=28
separator_block_width=0
[screen-timeout-indicator]
interval=once
command=~/.config/i3/scripts/screen-timeout-indicator
signal=24
separator_block_width=0
[time]
command=~/.config/i3/scripts/date-time
interval=1
The toggles work because I have keybindings inside my i3
config that send signals to i3blocks
i3config
# vim-style scrolling inside windows
bindsym --release $mod+space exec --no-startup-id ~/.config/i3/scripts/vim-scrollkeys-toggle ; exec --no-startup-id pkill -RTMIN+28 i3blocks
mode "screen timeout control" {
bindsym s exec --no-startup-id xset dpms 60 0 0 ; exec --no-startup-id pkill -RTMIN+24 i3blocks ;mode "default"
bindsym Shift+s exec --no-startup-id xset dpms 0 0 0 ; exec --no-startup-id pkill -RTMIN+24 i3blocks ; mode "default"
#Adjust period of inactivity for screen timeout to be activated
bindsym Shift+equal exec --no-startup-id "/home/anthony93/.config/i3/scripts/inactivity-period-before-screen-timeout increment"
bindsym Shift+minus exec --no-startup-id "/home/anthony93/.config/i3/scripts/inactivity-period-before-screen-timeout decrement"
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+F9 mode "screen timeout control"
# volume (Real-time Signal 21)
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -M -D pulse sset Master 5%+ && pkill -RTMIN+21 i3blocks
bindsym XF86AudioLowerVolume exec --no-startup-id amixer -M -D pulse sset Master 5%- && pkill -RTMIN+21 i3blocks
# mute
bindsym XF86AudioMute exec --no-startup-id amixer sset Master toggle && pkill -RTMIN+21 i3blocks
#killall -USR1 i3blocks
# audio control
bindsym XF86AudioPlay exec playerctl play
bindsym XF86AudioPause exec playerctl pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
#Brightness Control (Real-time Signal 22)
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl -q set +5% && pkill -RTMIN+22 i3blocks
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl -q set 5%- && pkill -RTMIN+22 i3blocks
# Capslock Indicator
bindsym --release Caps_Lock exec --no-startup-id pkill -RTMIN+20 i3blocks
I personally find the caps lock indicator and vim-style scrolling most useful
#!/usr/bin/sh
#simple script to indicate caps lock
state=$(xset -q | grep Caps | awk '{ print $2, $3, $4 }' | cut -d " " -f 3)
if [[ $state == 'off' ]]
then
output="<span background='#2eb398'> </span>""<span background='#2eb398' foreground='#1B2224'><b> CAPS ļ </b></span>""<span background='#2eb398'> </span>"
else
output="<span background='#ef596f'> </span>""<span background='#ef596f' foreground='#ffffff'><b> CAPS ļ
</b></span>""<span background='#ef596f'> </span>"
fi
echo "$output"
simple script to indicate whether vim-style scrolling is set.
#!/bin/sh
#simple script to indicate whether vim-style scrolling is set.
j_set_to_default="keycode 44 = j J j J"
k_set_to_default="keycode 45 = k K k K"
h_set_to_default="keycode 43 = h H h H"
l_set_to_default="keycode 46 = l L l L"
up_default="Up NoSymbol Up"
down_default="Down NoSymbol Down"
left_default="Left NoSymbol Left"
right_default="Right NoSymbol Right"
j_set_to_down="keycode 44 = $down_default"
k_set_to_up="keycode 45 = $up_default"
h_set_to_left="keycode 43 = $left_default"
l_set_to_right="keycode 46 = $right_default"
# Wait until all bindings have been correctly set before reading values
sleep 0.1
j_current_binding=$(xmodmap -pke | grep -w "44" | tr -s " ")
k_current_binding=$(xmodmap -pke | grep -w "45" | tr -s " ")
h_current_binding=$(xmodmap -pke | grep -w "43" | tr -s " ")
l_current_binding=$(xmodmap -pke | grep -w "46" | tr -s " ")
if [[ ($j_current_binding == $j_set_to_default) && ($k_current_binding == $k_set_to_default) && ($h_current_binding == $h_set_to_default) && ($l_current_binding == $l_set_to_default) ]]
then
output="<span background='#d55fde'> </span><span background='#d55fde' foreground='#1B2224'><b>VIM ļ ļ </b></span><span background='#d55fde'> </span>"
elif [[ ($j_current_binding == $j_set_to_down) && ($k_current_binding == $k_set_to_up) && ($h_current_binding == $h_set_to_left) && ($l_current_binding == $l_set_to_right) ]]
then
output="<span background='#FF6347'> </span><span background='#FF6347' foreground='#FFFFFF'><b>VIM ļ ļ
</b></span><span background='#FF6347'> </span>"
fi
echo "$output"
Script to toggle vim-style scrolling
#!/bin/sh
#
#Script to toggle vim-style scrolling
# Keycodes involved:
#
# 43 - h H h H
# 44 - j J j J
# 45 - k K k K
# 46 - l L l L
#
# 111 - Up NoSymbol Up
# 116 - Down NoSymbol Down
# 113 - Left NoSymbol Left
# 114 - Right NoSymbol Right
j_default="j J j J"
k_default="k K k K"
h_default="h H h H"
l_default="l L l L"
up_default="Up NoSymbol Up"
down_default="Down NoSymbol Down"
left_default="Left NoSymbol Left"
right_default="Right NoSymbol Right"
j_current_binding=$(xmodmap -pke | grep -w "44" | tr -s " ")
k_current_binding=$(xmodmap -pke | grep -w "45" | tr -s " ")
h_current_binding=$(xmodmap -pke | grep -w "43" | tr -s " ")
l_current_binding=$(xmodmap -pke | grep -w "46" | tr -s " ")
j_set_to_down="keycode 44 = $down_default"
k_set_to_up="keycode 45 = $up_default"
h_set_to_left="keycode 43 = $left_default"
l_set_to_right="keycode 46 = $right_default"
j_set_to_default="keycode 44 = $j_default"
k_set_to_default="keycode 45 = $k_default"
h_set_to_default="keycode 43 = $h_default"
l_set_to_default="keycode 46 = $l_default"
if [[ ($j_current_binding == $j_set_to_default) && ($k_current_binding == $k_set_to_default) && ($h_current_binding == $h_set_to_default) && ($l_current_binding == $l_set_to_default) ]]
then
current_state="off"
elif [[ ($j_current_binding == $j_set_to_down) && ($k_current_binding == $k_set_to_up) && ($h_current_binding == $h_set_to_left) && ($l_current_binding == $l_set_to_right) ]]
then
current_state="on"
fi
if [[ $current_state == "off" ]]
then
# switch on vim scrolling
xmodmap -e "$j_set_to_down"
xmodmap -e "$k_set_to_up"
xmodmap -e "$h_set_to_left"
xmodmap -e "$l_set_to_right"
elif [[ $current_state == "on" ]]
then
# switch off vim scrolling
xmodmap -e "$j_set_to_default"
xmodmap -e "$k_set_to_default"
xmodmap -e "$h_set_to_default"
xmodmap -e "$l_set_to_default"
fi
thanks for sharing!!
Please use āhide detailsā or a pastebin for longer scripts and logs
Nice. I didnāt even know there is a āhide detailsā featureā¦
looks somehow very relaxingā¦
But try to use it for a month it has some āunmodernā flaws
Iām already noticing themā¦
The bottom docker looks like the transport of some DAW, a rather old oneā¦
Otherwise this should be an alternative look for Ubuntu Unity, quite striking and unique. I like it, even if the text is hard to read.