LINUX.ORG.RU

имитация расстояния межу окнами в i3

 ,


5

1

Добрый день, вечер, ночь и еще что-нибудь!

На картинке: ArchLinux

  • естественно - i3
  • терминал - urxvt
  • редактор - gvim
  • файловый менеджер - ranger
  • плейер - mpd, ncmpcpp (ну тут все понятно)
  • вьювер pdf/djvu - zathura
  • статусная строка - i3bar, dzen2, conky+dzen2 (для вывода раскладки)

шрифты:

  • статусная строка: Ohsnap
  • терминал: WerfProFont
  • gvim: Monaco

может быть ШГ, но удобные

Долго искал как сделать расстояния между окнами в i3, в русском интернете про это ничего путного нет, а по английски я читаю и пишу плохо. Выходом стало просто увеличение ширины границы окон. На мой взгляд расстояние между окнами делает рабочее пространство более легким, прозрачным, воздушным, а значит в нем комфортнее работать.

Этот скрин еще конечно не доработан. В статусной строке хочется все-таки сделать уголки как в powerTop (так и не понял как это делается). И если кто знает как быстро менять цветовые схемы в i3 без редактирования .i3/config пожалуйста поделитесь (в идеале нужна глобальная переключалка цветовых схем, что бы затрагивала не только i3, но и gtk, firefox, vim, urxvt).

>>> Просмотр (2732x1536, 870 Kb)



Проверено: JB ()

Ответ на: комментарий от pechenu

хмм, если убрать убогие «тени» (не помню убирается ли это в i3wm или гвоздями прибито к цвету шрифта) то неплохо

Poisoned ★★★ ()
Ответ на: комментарий от Poisoned

спасибо за подсказку, эти штуки вполне себе убираются))

pechenu ()

Замечательно, хотел бы себе такое, но не осилю, наверное.

WiseAlex ()
Ответ на: комментарий от najlus

У рангера vim управление к которому я привык, да и плюс ко всему почемуто mc запускается на моем компе достаточно долго, что бы от него отказаться. Всю работу я делаю в консоли, по этому ranger мне нужен что бы «визуализировать» файлы.

pechenu ()
Ответ на: комментарий от l0stparadise

шрифты еще подбираю, если посоветуете какой-нибудь шрифт для консоли, буду рад

pechenu ()

Monaco ШГ

а так, Годно!

qbbr ★★★★ ()

Цвета - годно, Ш - ну понятно )

Я бы границы окон потоньше раза в 2 сделал, эффект тот же, рабочего пространства все же немного больше.

gwinn ★★★★ ()

Никогда не понимал, в чём приглашения на две строки. Информации столько же, а строка лишняя занята, да и красота сомнительна.

Psych218 ★★★★★ ()

Что-то я в толк не возьму, как это конские кирпичи какашечного цвета между окон делают «рабочее пространство более легким, прозрачным, воздушным»?

Shtucer ()
Ответ на: комментарий от Psych218

Длинные пути и маленький размер экрана или окна.

Poisoned ★★★ ()
Ответ на: комментарий от pechenu

Попробуйте перед запуском mc сбросить переменную DISPLAY, если поможет то посмотрите на свой /etc/hosts

A-234 ★★★★★ ()

Огромное спасибо! Благодаря вашему скрину я узнал, что zathura умеет указывать свои цвета при инверте. Теперь мои книжки не выбиваются из общей темы и не выколупывают мои глаза, я очень счастлив :)

lirvux ()
Ответ на: комментарий от pechenu

mc запускается на моем компе достаточно долго

хостнейм прописал в /etc/hosts ?

Пойду ещё раз потыкаю этот ranger. И таки почему не vifm?

actics ()

Ого! Кто-то пользуется шрифтом, который я переделал! Класс!

werf ()

Долго искал как сделать расстояния между окнами в i3

В этом треде есть (кривой) патч, который, скорее всего, уже протух и не накладывается на текущую версию i3.

И если кто знает как быстро менять цветовые схемы в i3

Правь конфиг регекспом.

sed ~/.config/i3/config -i \
    -e "s/^\(client\.focused\).*/\1 #123 #456 #789 #ABC/" \
    -e "s/^\(client\.focused_inactive\).*/\1 #123 #456 #789 #ABC/" \
    -e "s/^\(client\.unfocused\).*/\1 #123 #456 #789 #ABC/" \
    -e "s/^\(client\.urgent\).*/\1 #123 #456 #789 #ABC/"

Или генерируй из шаблона.

{
    cat ~/.config/i3/config.template
    echo "client.focused #123 #456 #789 #ABC"
    echo "client.focused_inactive #123 #456 #789 #ABC"
    echo "client.unfocused #123 #456 #789 #ABC"
    echo "client.urgent #123 #456 #789 #ABC"
} > ~/.config/i3/config

в идеале нужна глобальная переключалка цветовых схем, что бы затрагивала не только i3, но и gtk, firefox, vim, urxvt

Интересная идея. Могу помочь с реализацией.

NeXTSTEP ★★ ()
Ответ на: комментарий от trofk

скрипты для статусной строки

#!/bin/sh

#----------------------------------------------------------
# file:		$HOME/.bin/myStatus.sh
# autor:	Nurlan Sadikov
# modified:	Oktober 2013
#----------------------------------------------------------

#----------------------------
# Dzen settings & Variables
#----------------------------
ICON_PATH="$HOME/.dzen2/icons"
DZEN_FG="#0e6638"
DZEN_BG="#1c2b33"

H=15
W=510
X=856
Y=0
BAR_FG=""
BAR_BG=""
FONT="Ohsnap:size=8"
SLEEP=3
DZEN="dzen2 -bg $DZEN_BG -fg $DZEN_FG -fn $FONT -h $H -ta r -y $Y"

$HOME/.bin/mySystemInfo.sh | $DZEN -w $W -x $X &
conky -c $HOME/.bin/conky_lang | $DZEN -w 50 -x 600

крипты для статусной строки (основная с выводом состояния системы)

#!/bin/sh

#----------------------------------------------------------
# file:		$HOME/.bin/mySystemInfo.sh
# autor:	Nurlan Sadikov
# modified:	Oktober 2013
#----------------------------------------------------------

#----------------------------
# Dzen settings & Variables
#----------------------------
ICON_PATH="$HOME/.dzen2/icons"
COLOR_ICON="#bdab1b"
CRIT_COLOR="#b2182d"
DZEN_FG="#0e6638"
DZEN_BG="#1c2b33"

SIMPL_COLOR="#6c8c84"
ATTENTION_COLOR="#bdab1b"

H=15
W=510
X=856
Y=0
BAR_FG=""
BAR_BG=""
FONT="Ohsnap:size=8"
SLEEP=3
DZEN="dzen2 -bg $DZEN_BG -fg $DZEN_FG -fn $FONT -w $W -h $H -ta r -x $X -y $Y"

# -------------
# Infinite loop
# -------------
while :; do
#sleep ${SLEEP}

# ---------
# Functions
# ---------

Mem ()
{
	MEM=$(free -m | grep '-' | awk '{print $3}')
	echo -n "mem^fg($SIMPL_COLOR)${MEM}^fg()Mb"
	return
}

Temp ()
{
	TEMP=$(acpi -t | awk '$9=substr($4,1,2) {print $9}' )
		if [[ ${TEMP} -gt 63 ]] ; then
			echo -n "temp^fg($CRIT_COLOR)${TEMP}°^fg()C"
		else
			if [[ ${TEMP} -gt 52 ]] ; then 
				echo -n "temp^fg($ATTENTION_COLOR)${TEMP}°^fg()C"
			else
				echo -n "temp^fg($SIMPL_COLOR)${TEMP}°^fg()C"
			fi
		fi
	return
}

Date ()
{
	TIME=$(date +%R)
	echo -n "time^fg($ATTENTION_COLOR)${TIME} "
	return
}

Between ()
{
	echo -n " ^fg($DZEN_FG)<^fg($SIMPL_COLOR)<^fg($ATTENTION_COLOR)<^fg() "
	return
}

Battery ()
{
	PERCENT=$(acpi | awk '$9=substr($4,1,match($4,"%")-1) {print $9}')
	CHARGING=$(acpi | awk '$9=substr($3,1,1) {print $9}')
	if [[ $CHARGING == C ]] ; then
		COLOR=$SIMPL_COLOR
	else
		if [[ $PERCENT -le 12 ]] ; then
			COLOR=$CRIT_COLOR
		else
			if [[ $PERCENT -le 57 ]] ; then
				COLOR=$ATTENTION_COLOR
			else
				COLOR=$SIMPL_COLOR
			fi
		fi
	fi
	HOURS=$(acpi | awk '$9=substr($5,1,2) {print $9}')
	MINUTS=$(acpi | awk '$9=substr($5,4,2) {print $9}')
	if [[ $HOURS -eq "" ]] ; then
		if [[ $MINUTS -eq "" ]] ; then 
			echo -n "bat^fg($COLOR)$PERCENT%^fg()"
		else
			echo -n "bat^fg($COLOR)$HOURS'$MINUTS^fg()'$PERCENT%"
		fi
	else
		echo -n	"bat^fg($COLOR)$HOURS'$MINUTS^fg()'$PERCENT%"
	fi
	return
}



Wifi ()
{
	NAME=$(iwconfig wlp3s0 | grep 'ESSID' | awk '$9=substr($4,7,3) {print $9}')
	if [[ $NAME -eq "off" ]] ; then 
		echo -n "wifi^fg($CRIT_COLOR)Off^fg()"
	else
		echo -n "wifi^fg($SIMPL_COLOR)On^fg()"
	fi
}

Month ()
{
	DAY_WEEK=$(date -R | awk '{print $1}')
	NUMBER=$(date +%d)
	MONTH=$(date -R | awk '{print $3}')
	echo -n "$DAY_WEEK^fg($SIMPL_COLOR)$NUMBER^fg()$MONTH"
}


# -----
# Print
# -----
Print () {
	Between
	Temp
	Between
	Wifi
	Between
	Battery
	Between
	Mem
	Between
	Month
	Between
	Date
	echo
	return
}
sleep ${SLEEP}
echo "$(Print)"
done  

есть еще два файла, на вывод раскладки (через коньки) и dvol на управление звуком, если понадобится скажи скину

хотел добавить .i3/config но сообщение получается слишком большим. Вроде тут на сайте нельзя отправлять сообщения другим пользователям, а было бы здорово

pechenu ()
Ответ на: комментарий от NeXTSTEP

Спасибо за подсказку попробую сегодня вечером реализовать, что ты показал.

Могу помочь с реализацией.

Да, помощь мне не помешает, спасибо!

pechenu ()
Ответ на: комментарий от Gotf

разобрался вчера, из коробки там конечно так-то но не совсем так, спасибо за наводку, буду потихоньку копать в этом направлении

pechenu ()

Добрый день, поделитесь пожалуйста рецептом как сделать такое красивое приглашение в две строки. Я только перешел на тайлиг, очень нехватает такой функции при маленьких размерах окон.

sundoorz ()
Ответ на: комментарий от sundoorz

Сам это стырил.

# Colored prompt
force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
	color_prompt=yes
    else
	color_prompt=
    fi
fi

# Prompt
if [ -n "$SSH_CONNECTION" ]; then
export PS1="\[$(tput setaf 1)\]┌─╼ \[$(tput setaf 7)\][\w]\n\[$(tput setaf 1)\]\$(if [[ \$? == 0 ]]; then echo \"\[$(tput setaf 1)\]└────╼ \[$(tput setaf 7)\][ssh]\"; else echo \"\[$(tput setaf 1)\]└╼ \[$(tput setaf 7)\][ssh]\"; fi) \[$(tput setaf 7)\]"
else
export PS1="\[$(tput setaf 1)\]┌─╼ \[$(tput setaf 7)\][\w]\n\[$(tput setaf 1)\]\$(if [[ \$? == 0 ]]; then echo \"\[$(tput setaf 1)\]└────╼\"; else echo \"\[$(tput setaf 1)\]└╼\"; fi) \[$(tput setaf 7)\]"
fi

trap 'echo -ne "\e[0m"' DEBUG

# I this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u: \w\a\]$PS1"
    ;;
*)
    ;;
esac
pechenu ()
Ответ на: комментарий от pechenu

Спасибо! Искал похожее, но так ничего толкового не смог найти. Очень удобно!

sundoorz ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.