You are not logged in.
One more question. How to define a certain apps to have a titlebar, and others to not? Now I'm using "new_window bp", so all apps get only 1px border instead of a titlebar. But I'd like to, in example, for gpicview to have a titlebar. Anyone knows how to do it?
You use the IPC interface. One possible solution:
If you type "ip3-msg bn" on a console window, for instance, that window will change to a titlebar border. So one option could be a script:
#!/bin/bash
#
# Change border to titlebar and start <app>
ip3-msg bn
app
And then you just keybind your bash script in .i3/config .
This works well with any other settings you may have in your .ie/config.
So, if for instance, you assign this application to another workspace, or to float, your i3 ipc message will still be respected.
The IPC interface in i3 is the thing that is getting me most excited about i3. Trust me!
i3-msg is really just a frontend to some common options. You can interface with i3 at a deeper level. One of my plans is to devise a little C program that changes my monitor gamma settings ( with the help of xgamma or something) when moving in and out of my worskspace 2, where I have a full browser window that knocks me off my socks when comming of the other dark consoles worspakces. And that's really only touching the surface.
EDIT: fixed a bug: ip3-msg bn, before the app. Not after
Last edited by marfig (2010-08-20 14:00:13)
I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal
Offline
Thank you, guys! Thanks for all the info!
I'll go with a "light" option, though. I added a keybind at ctrl+alt+F10(F9) to toggle bn/bb. Works amazing.
I'm falling in love with a tiling wm. And I hated em a few day back. But no more thanks to Marfig and their awesome screenie!
One more question, tho.
Can i3 switch workspaces like Openbox? I've used ctrl+alt+right_arrow(left_arrow) to switch between ws'.
I've been looking for that option in guides and haven't found anything about it, but maybe I've missed it somewhere.
Cheers.
Offline
Alt + workspace number will let you switch.
But there is a way to assign a keybinding to scroll thru your list of workspaces as well. I use Alt + Tab.
Unfortunately, I am at work on XP and don't remember the exact command, but I think its next and prev (or am I confusing that with the jumanji commands )
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
Thanks, Inxsible.
Gazj, what happens if you put "assign urxvt/mutt 2" and leave "assign urxvt 1"? Will mutt still open in 2? Is mutt's WM_CLASS only "mutt" or also "URxvt" (I doubt it)? I'm having problems with putting some -name'd urxvt to the other workspace.
Offline
# alternative way to change the workspace
bind Mod4+112 pw
bind Mod4+117 nw
This is how I do it, it's Super+Page_Up / Down, but you can specify it the way you want of course. pw stands for previous workspace, nw for next workspace
Offline
Beautiful, works like a charm! I use "bindsym Mod1+Control+Left pw" and "bindsym Mod1+Control+Right nw" to browse the workspaces. Thanks, Army! (aaah now I see, it's all in the official i3 guide)
The thing I haven't found in the guide is that if it's possible to classically "alt+tab" browse through the opened windows in a workspace, where a window gets outlined or something, so I see which one to choose?
Last edited by archman-cro (2010-08-20 16:36:17)
Offline
Archman-cro, you can also look at binding with Mod4 (usually your windows key on the keyboard, to the left of Alt). I tend to leave ALT out off my own bindings not because there is something essentially wrong with it, but because I'm forced to use another key like CTRL to produce new keybinds without fearing clashes, whereas i3 leaves Mod4 all for yourself.
I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal
Offline
Good tip! Tnx.
Offline
The disadvantage of typing i3-msg something in a temrinal is that it only affects the current terminal.
I use a dmenu setup for i3 commands.
bind Mod4+54 exec /home/ogion/bin/dmenu_i3.sh
(Windows-key c)
#!/bin/bash
#dmenu_i3
#Gazj 2010 garyjames82atgmaildotcom
#execute i3 commands using dmenu, history stored under ~/.i3/dmenu
GS=`cat ~/.i3/dmenu | dmenu -fn fixed -nb '#100' -nf '#b9c0af' -sb '#000' -sf '#afff2f' -i -p "i3 command:" $*`
if grep -q "$GS" "$HOME/.i3/dmenu" ; then
echo already exists in history
else
echo $GS >> ~/.i3/dmenu
fi
i3-msg $GS
(Yes not mine)
I find that pretty handy.
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
Ogion, you make it look easy.
Thanks so much for that
I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal
Offline
I wish sm4tik's icons were a little bigger. A shame. They look stretched on my setup.
Offline
archman - you can get window information using the xprop and xwininfo commands which can be used in your i3 config. Although the mutt line you mention must have been some sort of experiment that did not work and never got removed. I cannot even remember doing it now
gary@Lister ~ $ xprop
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_PID(CARDINAL) = 1595
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, _NET_WM_PING
WM_LOCALE_NAME(STRING) = "en_GB.UTF-8"
WM_CLASS(STRING) = "urxvt", "URxvt"
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
window id # of group leader: 0xa00006
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified minimum size: 10 by 16
program specified resize increment: 6 by 12
program specified base size: 4 by 4
window gravity: NorthWest
WM_CLIENT_MACHINE(STRING) = "Lister"
WM_COMMAND(STRING) = { "urxvt" }
_NET_WM_ICON_NAME(UTF8_STRING) = 0x67, 0x61, 0x72, 0x79, 0x40, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x7e
WM_ICON_NAME(STRING) = "gary@Lister:~"
_NET_WM_NAME(UTF8_STRING) = 0x67, 0x61, 0x72, 0x79, 0x40, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x7e
WM_NAME(STRING) = "gary@Lister:~"
Offline
Alternatively, you can run i3 with
exec i3 -V >>~/.i3/i3log >&1
in ~/.xinitrc. Which you should anyways, considering this is a recent installation and you are also tampering with i3 config.
Doing that allows you to open a window and do the following command:
$ tail -f .i3/i3log
Last edited by marfig (2010-08-20 22:59:25)
I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal
Offline
I wish sm4tik's icons were a little bigger. A shame. They look stretched on my setup.
When you have finished tinkering post a screenie of your setup. It would be nice to see after following your i3 story.
Last edited by gazj (2010-08-20 22:59:23)
Offline
Hmm, it ended up pretty uninteresting, but I still like it very much. And I got to know some of you guys better when battling with setups for the last two days, so that adds much to the story.
w1, showing conky and dzen only: http://i34.tinypic.com/plwuq.jpg
w2 and w3 are similar: http://i37.tinypic.com/2zei1x4.jpg
w4, for irssi and urxvt: http://i36.tinypic.com/11j6nvc.jpg
Usage: On startup, conky (floating mode) goes to workspace 1, chromium to workspace 2, qtfm to 3 (where I also view pics and similar), and urxvt/irssi to 4. GIMP and Skype are assigned to ~ 1, also. This way I have a "standardized" usage scheme. I don't have to click click to find some app anymore (minimize, maximize, etc), it's there, waiting at the same place, and that's what I love. Further info in configs.
xinit:
#!/bin/bash
xrdb -load /home/archman/.i3/Xdefaults.i3
xset s 1800 1800 r rate 340 25 -dpms &
setxkbmap -option terminate:ctrl_alt_bksp &
xsetroot -cursor_name left_ptr
# mpd /home/archman/.mpd/config
# exec i3 -V >>~/.i3/i3log >&1
exec i3
Xdefaults:
URxvt*highlightColor:black
URxvt*borderLess:false
URxvt*cursorColor:white
URxvt*cursorUnderline:true
URxvt*foreground:grey
# URxvt*font: -xos4-terminus-medium-r-normal-*-12-120-72-72-c-60-iso10646-1
URxvt*font: xft:DejaVu Sans Mono:pixelsize=11
URxvt*termName:rxvt
#clickable links
URxvt.perl-ext-common: default,matcher
URxvt.urlLauncher: chromium
URxvt.matcher.button: 1
URxvt.matcher.pattern.1: \\bwww\\.[\\w-]\\.[\\w./?&@#-]*[\\w/-]
Xcursor.theme: FlatbedCursors.Black.Small
.i3/config:
# 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)
################
# AUTOSTART STUFF #
################
# exec xmessage -file /etc/i3/welcome
exec feh --bg-scale '/home/archman/Documents/Pictures/wallpapers/wallpaper-374068.png'
exec xset s noblank s noexpose r rate 340 25 -dpms &
exec scrobby
exec chromium
exec urxvt
# exec sleep 1 && exec ~/.i3/tail
exec conky -c ~/.i3/conki3 | i3-wsbar --show-all -c "dzen2 -dock -h 18 -w 1024 -ta l -fn '123-9'"
exec conky -c ~/.i3/conky-reminder
exec qtfm
#######
#COLORS #border #bkgrnd #text #
#######
client.focused #000000 #000000 #FFFFFF
# bar.focused #DA6F00 #000000 #999999
# bar.unfocused #333333 #000000 #ffffff
# bar.urgent #FF0000 #000000 #999999
# ISO 10646 = Unicode (use xfontsel)
font -*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
#########
# BINDINGS #
#########
# Use Mouse+Mod1 to drag floating windows to their wanted position
floating_modifier Mod1
# Fullscreen (Mod1+f)
bind Mod1+41 f
# Stacking (Mod1+h)
bind Mod1+43 s
# Tabbed (Mod1+w)
bind Mod1+25 T
# Default (Mod1+e)
bind Mod1+26 d
# Toggle tiling/floating of the current window (Mod1+Shift+Space)
bind Mod1+Shift+65 t
# Go into the tiling layer / floating layer, depending on whether
# the current window is tiling / floating (Mod1+t)
bind Mod1+28 focus ft
# Focus (Mod1+j/k/l/;)
bind Mod1+44 h
bind Mod1+45 j
bind Mod1+46 k
bind Mod1+47 l
# (alternatively, you can use the cursor keys:)
bindsym Mod1+Left h
bindsym Mod1+Down j
bindsym Mod1+Up k
bindsym Mod1+Right l
# Focus Container (Mod3+j/k/l/;)
bind Mod3+44 wch
bind Mod3+45 wcj
bind Mod3+46 wck
bind Mod3+47 wcl
# (alternatively, you can use the cursor keys:)
bindsym Mod3+Left wch
bindsym Mod3+Down wcj
bindsym Mod3+Up wck
bindsym Mod3+Right wcl
# Snap (Mod1+Control+j/k/l/;)
bind Mod1+Control+44 sh
bind Mod1+Control+45 sj
bind Mod1+Control+46 sk
bind Mod1+Control+47 sl
# (alternatively, you can use the cursor keys:)
# bindsym Mod1+Control+Left sh
# bindsym Mod1+Control+Down sj
# bindsym Mod1+Control+Up sk
# bindsym Mod1+Control+Right sl
# Move (Mod1+Shift+j/k/l/;)
bind Mod1+Shift+44 mh
bind Mod1+Shift+45 mj
bind Mod1+Shift+46 mk
bind Mod1+Shift+47 ml
# (alternatively, you can use the cursor keys:)
bindsym Mod1+Shift+Left mh
bindsym Mod1+Shift+Down mj
bindsym Mod1+Shift+Up mk
bindsym Mod1+Shift+Right ml
# Move Container (Mod3+Shift+j/k/l/;)
bind Mod3+Shift+44 wcmh
bind Mod3+Shift+45 wcmj
bind Mod3+Shift+46 wcmk
bind Mod3+Shift+47 wcml
# Workspaces (Mod1+1/2/…)
bind Mod1+10 1
bind Mod1+11 2
bind Mod1+12 3
bind Mod1+13 4
bind Mod1+14 5
bind Mod1+15 6
bind Mod1+16 7
bind Mod1+17 8
bind Mod1+18 9
bind Mod1+19 10
# Move to Workspaces
bind Mod1+Shift+10 m1
bind Mod1+Shift+11 m2
bind Mod1+Shift+12 m3
bind Mod1+Shift+13 m4
bind Mod1+Shift+14 m5
bind Mod1+Shift+15 m6
bind Mod1+Shift+16 m7
bind Mod1+Shift+17 m8
bind Mod1+Shift+18 m9
bind Mod1+Shift+19 m10
# Mod1+Enter starts a new terminal
bind Mod1+36 exec /usr/bin/urxvt
# Mod1+Shift+q kills the current client
bind Mod1+Shift+24 kill
# Mod1+v starts dmenu and launches the selected application
# for now, we don't have a launcher of our own.
bind Mod1+55 exec /usr/bin/dmenu_run
# Mod1+Shift+e exits i3
bind Mod1+Shift+26 exit
# Mod1+Shift+r restarts i3 inplace
bind Mod1+Shift+27 restart
#Browse through workspaces
bindsym Mod1+Control+Left pw
bindsym Mod1+Control+Right nw
# MPD (toggle/stop/next/prev/vol...)
bindsym Mod1+Control+c exec ncmpcpp toggle
bindsym Mod1+Control+v exec ncmpcpp stop
bindsym Mod1+Control+b exec ncmpcpp next
bindsym Mod1+Control+z exec ncmpcpp prev
bindsym Mod1+Control+x exec ncmpcpp volume -1
bindsym Mod1+Control+y exec ncmpcpp volume +1
# gmrun
bindsym Mod1+F2 exec gmrun
#irssi
bindsym Mod1+F3 exec ~/.i3/irssi
#toggle bn/bb
bindsym Mod1+Shift+F10 exec i3-msg bn
bindsym Mod1+Shift+F11 exec i3-msg bb
# Mount usb
bindsym Mod1+Control+m exec sudo mount -o rw,noauto,async,user,umask=1000 /dev/sdb1 /media/usb
# Go into hibernation
bindsym Mod4+Shift+F9 exec sudo hibernate -F /etc/hibernate/tuxonice.conf
# 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
# Options
focus_follows_mouse no
workspace_bar no
new_window bb
## WORKSPACE App Specs (obxprop | grep WM_CLASS)
workspace 1 main
workspace 2 net
workspace 3 fm
workspace 4 term
assign "chromium" 2
assign "urxvt" 4
assign "skype" ~1
assign "gimp" ~1
assign "qtfm" 3
assign "gmrun" ~
assign "conky" ~1
assign "xarchiver" ~
conky:
background no
use_xft yes
# xftfont 123:size=8
out_to_console yes
out_to_x no
update_interval 2
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 none
if_up_strictness address
short_units yes
TEXT
^pa(443)^fg()CPU $cpu% · ^pa(508)/ ${fs_free /}/${fs_size /} · ^pa(605)/home ${fs_free /home}/${fs_size /home}^pa(727) · Power: ${execi 2 acpi -a | grep -o "on-line"}^fg(red)${execi 2 acpi -a | grep -o "off-line"}^fg() · ^pa(840)Pacman: ${execpi 60 /home/archman/.scripts/pacupdate.pl} · ^pa(920)Gmail: ${execpi 60 /home/archman/.scripts/gmailcheck} · ^pa(984)^fg(white)${time %H:%M}
Thank you all for helping me out!
Cheers!
Offline
I want to know what you did to get the workspace numbers along with the names and how to put conky in the same line. I have tried a bunch of things with dzen2 and i3wsbar but haven't been able to get it working
Specifically which dzen version are you using? can you point me the package in AUR?
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
The workspaces names you get on .i3/config by setting something like:
workspace 1 main
workspace 2 www
workspace 3 chat
...
Check i3 excellent documentation at http://i3.zekjur.net/docs/userguide.htm … workspaces
As for dzen, I'll leave it to someone else. My setup doesn't use dzen. Only conky.
Last edited by marfig (2010-08-20 23:33:36)
I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal
Offline
@Inxsible - the dzen I use is dzen2-xft-xpm-xinerama-svn 271-1 (AUR)
(It's your package! Nice work!)
Also using i3-wsbar 3.e-2.
The workspace numbers and their names are done exactly like marfig wrote above.
Conky actually pipes the information through to dzen, where dzen shows that info, with an aid of i3-wsbar (statusbar) (that's how I got the whole thing, dunno if I'm correct)
This line is crucial:
exec conky -c ~/.i3/conki3 | i3-wsbar --show-all -c "dzen2 -dock -h 18 -w 1024 -ta l -fn '123-9'"
Also, check all my configs, it'll be clear then.
Offline
yeah...see I use the same thing but this command only brings up conky but not the workspace bar or dzen2. The only thing different in the command that I use is I dont have the trailing -fn '123-9'
Here's the relevant part of my i3 config
new_window bp
workspace_bar no
worksapce 1 main
workspace 2 chat
workspace 3 web
workspace 4 code
exec xbindkeys -f ~/.config/xbindkeys/.xbindkeysrc
#exec conky -c ~/.config/conky/.conkyrc
exec urxvt -e screen -c ~/.config/screen/.screenrc
#exec i3status -c ~/.config/i3/i3status.conf | dzen2 -dock -fg white -fn "-misc-fixed-medium-r-normal--10-100-75-75-c-60-iso8859-1" -bg black -ta l -w 802 -x 478 -y 1010
#exec conky -c ~/downloads/.conkyrc | i3-wsbar -c "dzen2 -x %x -dock -fn -*-profont-*-*-*-*-11-*-*-*-*-*-*-* -ta l"
exec conky -c ~/.config/conky/.conkyrc | i3-wsbar --show-all -c "dzen2 -dock -h 16 -w 1680 -ta l"
assign skype 2
Issuing just
i3-wsbar --show-all -c "dzen2 -dock -h 16 -w 1680 -ta l"
doesn't do anything either.
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
Issuing just
i3-wsbar --show-all -c "dzen2 -dock -h 16 -w 1680 -ta l"
doesn't do anything either.
Erm, this one is fishy. Mine runs that command fine, i3-wsbar is displayed.
You got those in conkyrc?:
out_to_console yes
out_to_x no
Offline
I was missing those...but when I put that in, conky doesn't show up either. I guess my conky config is out of whack. Here's my conky
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 no
double_buffer yes
border_inner_margin 0
border_outer_margin 0
use_spacer left
if_up_strictness address
short_units yes
out_to_console yes # I added this just now
out_to_x no # I added this just now
TEXT
${color 0080bc}day: ${color}${time %d %B}${color red} | ${color 0080bc}time: ${color}${time %H:%M}${color red} | ${color 0080bc}uptime:${color} $uptime_short ${color red} | ${color 0080bc}cpu:${color} $cpu% ${color red} | ${color 0080bc} mem:${color} $mem - $memperc% ${color red} | ${color 0080bc}swap:${color} $swap - $swapperc% ${color red} | ${if_up eth0}${color 0080bc}link: ${color red}tx:${color} ${upspeed eth0}/s ${color red}rx:${color} ${downspeed eth0}/s${endif}${color red} | ${color 0080bc}updates :: ${color}${texeci 600 perl ~/scripts/updates/arch_update.pl}${color red} | ${color 0080bc}Weather: ${color}${execi 600 ~/scripts/weather/weather.sh}${color red} | ${color 0080bc}GMail: ${color}${execi 600 python ~/scripts/conky/gmail.py}
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
My last idea is to comment out the own_window stuff, all three, as I think it made some problems to me before, although someone on this thread told it's important to have em in.
Offline
My last idea is to comment out the own_window stuff, all three, as I think it made some problems to me before, although someone on this thread told it's important to have em in.
No dice.
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
Is your conky running properly when ran on its own at all?
Offline
hmm... try seting use_spacer to none.
Another thing is removing all the color settings from your conky.
Last edited by marfig (2010-08-21 00:57:13)
I probably made this post longer than it should only because I lack the time to make it shorter.
- Paraphrased from Blaise Pascal
Offline