You are not logged in.

#1 2010-06-13 21:30:31

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

The i3 thread

I plagiarized the thread name from the thread below "the wmii thread" -- well because i3 was inspired by wmii, so I thought getting inspiration from the wmii thread would be apt.
I recently started using i3, because the tiler I was using until now, couldn't handle multiple monitors.

In any case, I have a few questions :

1) How can I run conky in i3? When I do a exec conky in the config file, i get nothing, maybe my conky is being hidden by the internal bar, which I tried disabling, but I still don't see anything.
Running exec conky | dzen2 does show me the conky, but doesn't use the colors or fonts that I have in my .conkyrc. It could also be because I am not too familiar with dzen

2) Musca allowed padding the workspaces

pad 0 0 0 16

which could be then used to display conky at the bottom of the workspace. Is there something similar in i3?

3) is there a way to split windows horizontally by default as opposed to splitting them vertically?

4) Can someone give me a basic rundown of i3-wsbar, i3status and i3-msg ??

I am sure I will have more questions later


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#2 2010-06-13 21:46:04

Runiq
Member
From: Germany
Registered: 2008-10-29
Posts: 1,053

Re: The i3 thread

Okay, that's a lot of questions…

1) You usually just place your conky bar over the workspace list. If you use dzen's -dock option, it should cover the wsbar.

If you pipe conky into dzen, you just pipe the text into it. The colors, fonts, and other information need to be in dzen format, e.g. ^fn(DejaVu Sans)…^fn() for using another font. (Look here for more info.)

2) AFAIK no, but if you use a statusbar that registers as a dock, this should be dealt with automatically.

3) Only if you place them in different containers of the table.

4) This document didn't exist back when I still used i3, sure would have been useful smile

Last edited by Runiq (2010-06-13 21:46:30)

Offline

#3 2010-06-13 22:04:50

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: The i3 thread

For 1.  See my conkyrc in my signature under dotfiles.  You will probably want conky-cli from AUR

I then pipe this to dzen2 like this.  This is for 1280x1024 monitor

conky | dzen2 -x 100 -y 1010 -w 1180 -ta r -bg black -fg '#990000' -fn -*-terminus-*-*-*-*-12-*-*-*-*-*-iso8859 &

Offline

#4 2010-06-13 23:20:11

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: The i3 thread

Maybe you already figured it out, but here's my .conkyrc, which works

background no
use_xft yes
xftfont Terminus:size=9
update_interval 1
total_run_times 0
own_window yes
own_window_type dock
own_window_transparent yes
double_buffer yes
border_inner_margin 0
border_outer_margin 0
use_spacer left
if_up_strictness address

TEXT
blablabla

The important lines for what you want are

own_window yes
own_window_type dock

And to make conky as thin as possible use

border_inner_margin 0
border_outer_margin 0

i3 automatically gives space to conky.

I guess you know how to remove i3's default bar at the bottom?

# disable workspace bar
workspace_bar no

That's all you need :-)

Offline

#5 2010-06-14 04:54:51

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: The i3 thread

Army. copied everything that you have into my conkyrc, and now it works.

I guess some of the options that I had in my conkyrc were the issue.

Also how can I make my conky and stalonetray appear at the same level ? Currently, conky appears at the bottom of the screen and stalonetray takes up another layer on top of it.

Last edited by Inxsible (2010-06-14 05:19:50)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#6 2010-06-14 07:33:08

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: The i3 thread

There was someone on the mailing list complaining about issues with his tray. But the main dev doesn't use a tray, so he couldn't really help and noone else seemed to be able to help.

As a sidenote, it's really funny, many many musca users switched to i3 recently. Musca is really brilliant, but totally buggy. i3 seems to be the only tiling wm which is relatively equal in usage. I really tried many, but i3 is just ... awesome ;-)

Offline

#7 2010-06-14 09:04:17

litemotiv
Forum Fellow
Registered: 2008-08-01
Posts: 5,026

Re: The i3 thread

Inxsible wrote:

Army. copied everything that you have into my conkyrc, and now it works.

I guess some of the options that I had in my conkyrc were the issue.

Also how can I make my conky and stalonetray appear at the same level ? Currently, conky appears at the bottom of the screen and stalonetray takes up another layer on top of it.

i think that's because conky is taking up the dock space. if you pipe it through dzen like gazj did you can place it anywhere without docking it, then your tray can use the original dock space.

here's what i use:

conky:

background no
cpu_avg_samples 2
net_avg_samples 2
no_buffers yes
out_to_console yes
out_to_stderr no
out_to_x no
update_interval 5.0
uppercase no
use_spacer none
mpd_host yuki
mpd_port 6600

TEXT
${if_mpd_playing}$mpd_artist - $mpd_title $mpd_elapsed/$mpd_length  |${endif}  $loadavg - ${freq_g}Ghz  |  $battery  |  $time

stats.sh (piping it through dzen2):

#!/bin/sh

conky | dzen2 -w 1000 -x 280 -y 1400 -h 15 -ta r

i3/config:

exec stats.sh

the downside of this approach is that you need to position it manually, but for most setups this usually isn't a problem.


ᶘ ᵒᴥᵒᶅ

Offline

#8 2010-06-14 14:48:10

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: The i3 thread

litemotiv wrote:

i think that's because conky is taking up the dock space. if you pipe it through dzen like gazj did you can place it anywhere without docking it, then your tray can use the original dock space.

Thanks for the explanation litemotiv. I just created a separate client and assigned skype to it. Skype was the only item in my tray anyway. I don't need no more trays wink


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#9 2010-06-14 17:21:13

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: The i3 thread

Inxsible wrote:

I don't need no more trays wink

That's the spirit! :-)

Offline

#10 2010-06-14 17:53:53

gazj
Member
From: /home/gazj -> /uk/cambs
Registered: 2007-02-09
Posts: 681
Website

Re: The i3 thread

I can manage without a tray.  It's totally uneeded in my setup anyway smile

Offline

#11 2010-06-14 20:41:04

Procyon
Member
Registered: 2008-05-07
Posts: 1,819

Re: The i3 thread

Just tried out i3 and it's indeed really nice! I was starting to notice bugs in musca too. First wine, then feh -F, now fullscreen VBox 3.2.x.

I removed the handling of NET_WM_STATE_FULLSCREEN, so feh and VBox behave as expected.

I have a problem though, "new_window bb" (remove all borders) only seems to work in the default layout and not in the tabbed layout which I want to use. How do I get rid of all bars & borders?

Offline

#12 2010-06-14 22:51:44

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: The i3 thread

Procyon wrote:

I have a problem though, "new_window bb" (remove all borders) only seems to work in the default layout and not in the tabbed layout which I want to use. How do I get rid of all bars & borders?

I noticed that too. But I guess that in tabbed mode, you are gonna have the title anyway, so I guess the 1 px border isn't much of an issue.

Or are you even trying to get rid of the title bars in tabbed mode?


I kinda like the way i3 can handle different modes. I can see myself using the tabbed mode, even though I have been more used to using the regular tiling wms or the default mode in i3 speak.

I would have liked to have horizontal splits by default rather than vertical, but that's easily changeable by hitting Mod1 + Shift + j/;

I can live with that.

And even better I like how i3 only changes the mode of the currently focussed cell as opposed to changing it across all clients. So I can have default mode on the right half of my screen and if I need to I can change to stacked/tabbed on the left etc.....nice !

Last edited by Inxsible (2010-06-14 22:54:22)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#13 2010-06-15 07:26:42

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: The i3 thread

Procyon wrote:

I have a problem though, "new_window bb" (remove all borders) only seems to work in the default layout and not in the tabbed layout which I want to use. How do I get rid of all bars & borders?

Exactly this question I asked a few days ago on the mailing list. The main author answered, that it's not possible right now, but I guess it's on the todo list.

Last edited by Army (2010-06-15 07:26:57)

Offline

#14 2010-06-15 09:49:57

litemotiv
Forum Fellow
Registered: 2008-08-01
Posts: 5,026

Re: The i3 thread

Army wrote:
Procyon wrote:

I have a problem though, "new_window bb" (remove all borders) only seems to work in the default layout and not in the tabbed layout which I want to use. How do I get rid of all bars & borders?

Exactly this question I asked a few days ago on the mailing list. The main author answered, that it's not possible right now, but I guess it's on the todo list.

yes, a big rewrite of the core windowing code is in progress, it will take some time but will eventually fully abstract this behaviour and will also allow stuff like custom padding/margins.


ᶘ ᵒᴥᵒᶅ

Offline

#15 2010-06-15 13:13:25

Army
Member
Registered: 2007-12-07
Posts: 1,784

Re: The i3 thread

Nice :-)

Offline

#16 2010-06-27 04:47:38

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: The i3 thread

I do not have a status bar, but some times coming back to the computer after several hours,  I would like to see how many workspaces I have open.

Is there  a way to list all the workspaces?? In musca this was possible thru Mod + g

Thanks

Last edited by Inxsible (2010-06-27 04:48:30)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#17 2010-06-27 07:09:43

droog
Member
Registered: 2004-11-18
Posts: 877

Re: The i3 thread

Tried i3 for 2 minutes and it seemed horrible.
I love dwm and xmonad style dynamic tiling but I just don't get i3 or wmi style.

I can easily do it but window management seems to take as much time as what i'm trying to do.
I used ratpioson for a long time for fullscreen but didn't like it's tile style.

Am I missing something with these wm's?
what features make you pick this over a dynamic wm?

Offline

#18 2010-06-27 08:04:23

litemotiv
Forum Fellow
Registered: 2008-08-01
Posts: 5,026

Re: The i3 thread

inxsible: have a look at the IPC interface

droog: it depends on what you want to do. i used dwm for about 6 months on a 24" screen and i loved the dynamic workflow, then i got a 13" laptop and found out it didn't work for me there. i ended up placing single windows on each desktop, since several windows on a single one gave me just too little usuable space per window. this only worked for a while too, because when i reached 10+ desktops i realised that i really needed tabbing to group windows belonging to a certain task together.

so i guess dynamic workflow is fine on larger screens, but also in that case there are many windows that i never need to be central/large, for instance on a layout with one webbrowser (always large), and two smaller terminals beside it. it's more sane to keep the webbrower the main window, the active terminal full-width (or height) on the remaining space and the idle terminal hidden behind it. having two small terminals dividing the available space is almost always counterproductive, unles you are actively monitoring two separate tasks, but in i3 this just means swapping between tiling and tabbing layout for that particular stack (single command).

Last edited by litemotiv (2010-06-27 08:09:42)


ᶘ ᵒᴥᵒᶅ

Offline

#19 2010-06-27 14:47:14

Ogion
Member
From: Germany
Registered: 2007-12-11
Posts: 367

Re: The i3 thread

I love i3. After having been with openbox and fvwm for many years, i finally switched to tiling WMs (xmonad specifically) and kicked myself for not having switched earlier. After most of a year being satisfied with xmonad, but annoyed at the half a gigabyte of ghc etc i went wm-hopping, and ended up with i3, and i don't think i'm going to change that anymore for the forseeable future. smile

The only gripes i had in the beginning was that i couldn't get to have trayer in the same 'line' as the internal workspace bar. But since then, i simply resolved to not needing a tray anymore. (The only application i'd use it for really would be parcellite, to show the list of pastes, but parcellite works also without tray and if i want to look in the list i just go to my next free terminal and manually less the paste_history_file and re-highlight what i need. Sure there might be a better solution, but for now it works)

i3/config

## Default header:
## This configuration uses Mod1 and Mod3. Make sure they are mapped properly using xev(1)
## and xmodmap(1). Usually, Mod1 is Alt (Alt_L) and Mod3 is Windows (Super_L)
# by Ogion, modded
# Mod1 replaced by Mod4, Mod3 replaced by Mod1
# changed the movement keys from jkl; to hjkl

#exec /home/ogion/bin/i3statbar.sh
exec /home/ogion/bin/conkystatbar.sh
exec /usr/bin/parcellite -nd
exec /usr/bin/unclutter

# ISO 10646 = Unicode
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1

#
##
#### Exec-binds
##
#

# Mod4+Enter starts a new terminal
#bind Mod4+36 exec /usr/bin/xterm  -C -fg white -bg black +sb
bind Mod4+36 exec /usr/bin/urxvtc

# mpd-control binds
# mod4+b/n/m for mpc prev next toggle
bind Mod4+56 exec /usr/bin/mpc prev
bind Mod4+57 exec /usr/bin/mpc next
bind Mod4+58 exec /usr/bin/mpc toggle

# most used dmenu
bind Mod4+55 exec /home/ogion/bin/mostused_dmenu.sh

# internal i3 commands
bind Mod4+54 exec /home/ogion/bin/dmenu_i3.sh

# Using i3lock to lock the screen
bind Mod4+Shift+29 exec /usr/bin/i3lock

# Mod4+v starts dmenu
bind Mod4+33 exec /home/ogion/bin/ogidmenu.sh

# Scrot
bind Mod4+Shift+33 exec /home/ogion/bin/scrot_ogi.sh


## Colors
##   class                     border       background   text
#client.focused            #9966CC      #9966CC      #000000
client.focused            #DA6F00      #DA6F00      #000000
client.focused_inactive   #333333      #333333      #999999
client.unfocused          #333333      #333333      #999999
client.urgent             #FF0000      #8C5665      #999999
#bar.focused               #9966CC      #000000      #999999
bar.focused               #DA6F00      #000000      #999999
bar.unfocused             #333333      #000000      #999999
bar.urgent                #FF0000      #000000      #999999


#
##
#### Window manager control binds
##
#

new_container tabbed
new_window bb
workspace 5 output VGA1
#workspace 2 www
workspace_bar yes

# assigns
assign Navigator → 2
assign sylpheed → 6
assign gcolor2 → ~

# next workspace/prev workspace
# with Mod4+u/i
bind Mod4+30 pw
bind Mod4+31 nw

# Use Mouse+Mod4 to drag floating windows to their wanted position
floating_modifier Mod4

# Fullscreen (Mod4+f)
bind Mod4+41 f

# Stacking (Mod4+h)
bind Mod4+39 s

# Tabbed (Mod4+w)
bind Mod4+25 T

# Default (Mod4+e)
bind Mod4+26 d

# Toggle tiling/floating of the current window (Mod4+Shift+Space)
bind Mod4+Shift+65 t

# Go into the tiling layer / floating layer, depending on whether
# the current window is tiling / floating (Mod4+t)
bind Mod4+28 focus ft

## Focus (Mod4+j/k/l/;)
#bind Mod4+44 h
#bind Mod4+45 j
#bind Mod4+46 k
#bind Mod4+47 l

# Focus (Mod4+h/j/k/l)
bind Mod4+43 h
bind Mod4+44 j
bind Mod4+45 k
bind Mod4+46 l

# (alternatively, you can use the cursor keys:)
bindsym Mod4+Left h
bindsym Mod4+Down j
bindsym Mod4+Up k
bindsym Mod4+Right l

# Focus Container (Mod1+h/j/k/l)
bind Mod1+43 wch
bind Mod1+44 wcj
bind Mod1+45 wck
bind Mod1+46 wcl
# (alternatively, you can use the cursor keys:)
bindsym Mod1+Left wch
bindsym Mod1+Down wcj
bindsym Mod1+Up wck
bindsym Mod1+Right wcl

# Snap (Mod4+Control+h/j/k/l)
bind Mod4+Control+43 sh
bind Mod4+Control+44 sj
bind Mod4+Control+45 sk
bind Mod4+Control+46 sl
# (alternatively, you can use the cursor keys:)
bindsym Mod4+Control+Left sh
bindsym Mod4+Control+Down sj
bindsym Mod4+Control+Up sk
bindsym Mod4+Control+Right sl

# Move (Mod4+Shift+h/j/k/l)
bind Mod4+Shift+43 mh
bind Mod4+Shift+44 mj
bind Mod4+Shift+45 mk
bind Mod4+Shift+46 ml
# (alternatively, you can use the cursor keys:)
bindsym Mod4+Shift+Left mh
bindsym Mod4+Shift+Down mj
bindsym Mod4+Shift+Up mk
bindsym Mod4+Shift+Right ml

# Move Container (Mod1+Shift+h/j/k/l)
bind Mod1+Shift+43 wcmh
bind Mod1+Shift+44 wcmj
bind Mod1+Shift+45 wcmk
bind Mod1+Shift+46 wcml

# Workspaces (Mod4+1/2/…)
bind Mod4+10 1
bind Mod4+11 2
bind Mod4+12 3
bind Mod4+13 4
bind Mod4+14 5
bind Mod4+15 6
bind Mod4+16 7
bind Mod4+17 8
bind Mod4+18 9
bind Mod4+19 10

# Move to Workspaces
bind Mod4+Shift+10 m1
bind Mod4+Shift+11 m2
bind Mod4+Shift+12 m3
bind Mod4+Shift+13 m4
bind Mod4+Shift+14 m5
bind Mod4+Shift+15 m6
bind Mod4+Shift+16 m7
bind Mod4+Shift+17 m8
bind Mod4+Shift+18 m9
bind Mod4+Shift+19 m10

# Mod4+Shift+q kills the current client
bind Mod2+Shift+24 kill

# Mod4+Shift+e exits i3
bind Mod4+Shift+26 exit

# Mod4+Shift+r restarts i3 inplace
bind Mod4+Shift+27 restart

# The IPC interface allows programs like an external workspace bar
# (i3-wsbar) or i3-msg (can be used to "remote-control" i3) to work.
ipc-socket ~/.i3/ipc.sock

Ogion


(my-dotfiles)
"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
"Enlightenment is man's leaving his self-caused immaturity." - Immanuel Kant

Offline

#20 2010-06-27 17:51:26

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: The i3 thread

@droog : The reason I like manual wms more than dynamic is because I like to write code using all the available screen space but at the same time have the option of being able to see the other windows - like debug terminals or outputs etc. I can do this in a manual tiler easily since I can decide how much space each window will have. Also features like tabbed mode and stack mode in i3 are great when I code, and then a single command can show me all my windows again when I am executing the code and need to see the other windows simultaneously. Musca also had a "dedicated" using Mod4 + o which used the entire screen space.

@litemotiv : I need to look deeper into ipc. Haven't really gotten the hang of it yet. Thanks.

@ Ogion: just off topic : why do you bind application shortcuts using i3's config? I used to do that in Musca as well, but then realized its much better to use xbindkeys - that way even when I change WM's (which is not very often, I'll admit) I can keep the same key bindings and not have to worry about re-defining them in the new WM.


Yet another question: How do I change my dmenu settings? I want it to appear at the bottom instead of the top -- only because I have been habituated by seeing it at the bottom when I used musca. I tried to put in this setting in my i3config file, but it errored out on a parse error.

set dmenu dmenu -b -i -nb grey20 -nf '#a1b5cd' -fn '-*-dina-medium-r-normal-*-*-*-*-*-*-*-*-*'

Last edited by Inxsible (2010-06-27 17:54:09)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#21 2010-06-27 19:24:45

Ogion
Member
From: Germany
Registered: 2007-12-11
Posts: 367

Re: The i3 thread

Well, for starters i didn't know about xbindkeys before.
But yea, since i don't think i'll be switching away from i3 i won't change it for now.

man dmenu tells me -b to let it appear at the bottom.

Also, iirc the i3 config does no parsing, so no variables, but i might be wrong.
The way i do it is by just calling scripts that i put in ~/bin 
I'll show you an example (the one in i3coonfig called mostused_dmenu.sh)

#!/bin/zsh
IFS=$'\t\n'
PATH=$PATH:/home/ogion/bin

mostused="firefox
conkystatbar.sh
sylpheed
ossxmix
vimprobable2
rootterm
gcolor2
"

$(echo $mostused | dmenu -fn fixed -nb '#100' -nf '#b9c0af' -sb '#000' -sf  '#afff2f' -i)&

(rootterm is another small script that just spawns a urxvtc with "sudo su -" so i don't have to do that manually)

Ogion


(my-dotfiles)
"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
"Enlightenment is man's leaving his self-caused immaturity." - Immanuel Kant

Offline

#22 2010-06-27 19:51:28

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: The i3 thread

Using an explicit set on the dmenu was giving me parse errors.

I fixed it by changing the keybinding for dmenu_run

from

bind Mod1+55 exec /usr/bin/dmenu_run

to

bind Mod1+55 exec /usr/bin/dmenu_run -b -i -nb grey20 -nf '#a1b5cd' -fn '-*-dina-medium-r-normal-*-*-*-*-*-*-*-*-*'

Now I have the dmenu at the bottom and a grey background which matches my dark theme.

Last edited by Inxsible (2010-06-27 19:51:54)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#23 2010-07-06 16:14:54

OK100
Member
From: [U==]
Registered: 2010-04-26
Posts: 455

Re: The i3 thread

Is it possible to set different layout mode for each workspace? If yes, how?

Offline

#24 2010-07-06 16:37:51

Atsutane
Package Maintainer (PM)
From: Germany
Registered: 2008-08-18
Posts: 96

Re: The i3 thread

OK100 wrote:

Is it possible to set different layout mode for each workspace? If yes, how?

That's not possible yet, but will come soon.


[blog - mostly german] - [JabberID: atsutane 0x40 freethoughts 0x2E de] - [identi.ca]

Offline

#25 2010-07-18 19:22:44

randooom
Member
Registered: 2010-07-18
Posts: 5

Re: The i3 thread

Hi guys,

I'm testing i3 right now.

Is there a simple way to get a clock into the workspace bar?

That is the only thing I really miss, everything else is just fine smile

I tried playing with dzen2 and i3-status but got several errors, e.g. 'ack broken pipe <lots of stuff>' or 'Could not open "/sys/class/thermal/thermal_zone0/temp"', don't know what I'm doing wrong ^^

Offline

Board footer

Powered by FluxBB