You are not logged in.
is anyone using a tabbed layout for uzbl-core or vimb? If so, could I peek at your config? Just wondering how close anyone has gotten to simulating a "tab friendly" browser experience found in other players such as vimprobable, luakit, and others.
Offline
What do you mean by "tab-friendly browser eperience?" i3 just manages windows, not your web browsing habits. It will place multiple windows in a tabbed container, and that's it. Using multiple uzbl windows in a tabbed container won't work any differently than using multiple terminal windows in a tabbed container.
Offline
That's what I figured but I can't help but wonder how worthwhile it might be to "simulate" a tabbed browser's behavior using (class|role)-specific keybinds.
Offline
you will get the same behaviour from all stacking & tiling wm's with tabbing.
ROG Strix (GD30CI) - Intel Core i5-7400 CPU - 32Gb 2400Mhz - GTX1070 8GB - AwesomeWM (occasionally XFCE, i3)
If everything in life was easy, we would learn nothing!
Linux User: 401820 Steam-HearThis.at-Last FM-Reddit
Offline
If I understand correctly, you said you're using i3's tabbed layout. You could try tabbed by Suckless: http://tools.suckless.org/tabbed/
It places multiple windows in one window much like i3's tabbed but for window manager it is only one window.
Offline
If I understand correctly, you said you're using i3's tabbed layout. You could try tabbed by Suckless: http://tools.suckless.org/tabbed/
It places multiple windows in one window much like i3's tabbed but for window manager it is only one window.
Thanks for the tabbed link but I know all about it. I was simply looking into the potential to avoid it by exploiting the wm itself.
Offline
rikn00, there's really no difference between using suckless tabbed and i3's tabbed containers. Using tabbed in i3 doesn't make much sense.
I can't help but wonder how worthwhile it might be to "simulate" a tabbed browser's behavior using (class|role)-specific keybinds.
You could definitely create a special "browser mode" that maps keybindings to specific actions you'd use while manipulating browser windows. There's an example of how to create modes in the i3 User's Guide. You'd also need some sort of IPC script in order to do anything overly fancy, but you might be able to get some basic, browser-specific functionality through vanilla i3. Using unique marks to quickly jump between tabbed windows comes to mind.
Offline
so onto another question...
The last line of my ~/.config/i3/config is:
exec i3-msg 'workspace 2; exec urxvt; split vertical; exec urxvt;'
This gives me 2 terminals; each using 50% of the total height. How can I expand the above command so that the topmost terminal occupies a third of the total height? I've tried many variations of 'resize grow height 10 px' and such but nothing is working. Logs are telling me I can't resize in that direction because I am focused on a horizonal container despite my attempts to add 'focus up'
Does anyone have a working solution?
Thanks
Offline
You could definitely create a special "browser mode" that maps keybindings to specific actions you'd use while manipulating browser windows. There's an example of how to create modes in the i3 User's Guide. You'd also need some sort of IPC script in order to do anything overly fancy, but you might be able to get some basic, browser-specific functionality through vanilla i3. Using unique marks to quickly jump between tabbed windows comes to mind.
Very interesting... reading...
Offline
so onto another question...
The last line of my ~/.config/i3/config is:
exec i3-msg 'workspace 2; exec urxvt; split vertical; exec urxvt;'
This gives me 2 terminals; each using 50% of the total height. How can I expand the above command so that the topmost terminal occupies a third of the total height? I've tried many variations of 'resize grow height 10 px' and such but nothing is working. Logs are telling me I can't resize in that direction because I am focused on a horizonal container despite my attempts to add 'focus up'
Does anyone have a working solution?
Thanks
http://i3wm.org/docs/layout-saving.html
If you look at the json you'll see the options.
Offline
http://i3wm.org/docs/layout-saving.html
If you look at the json you'll see the options.
Brilliant!
Offline
I'm looking for some proper way to source $HOME/.profile (with bash agnostic environement variables in it) from within a i3 session.
The way I do it atm, loads environment variables but somehow gets in the way. Eg urxvtc launches nothing (even though the daemon _is_ running. Works back without sourcing $HOME/.profile in $HOME/.xinitrc but all work and no play makes Oli a dull boy.
$HOME/.bash_profile:
if [ -r ~/.profile ]; then . ~/.profile; fi
case "$-" in *i*) if [ -r ~/.bashrc ]; then . ~/.bashrc; fi;; esac
$HOME/.xinitrc:
...
#urxvt daemon
urxvtd &
# utilities
systemd --user &
...
# source ~/.profile
if [[ -e $HOME/.profile && -z $(echo $XDG_CONFIG_HOME|grep -o $HOME/.config) ]]
then
source ~/.profile
fi
# start wm
exec dbus-launch i3
$ ps aux|grep urxv (~/.profile sourced as above):
kozaki 2574 0.0 0.0 52764 2576 tty1 S 10:23 0:00 urxvtd
$ urxvtc
unable to connect to the rxvt-unicode daemon: Connection refused
Came out of luck searching the forum with "source $HOME/.profile" OR "source ~/.profile" site:bbs.archlinux.org.
Following i3 FAQ's Session's environment variables, $HOME/profile-invocations confirms it's called by ~/.xinitrc, errr
Caller: /home/kozaki/.xinitrc
DESKTOP_SESSION:
GDMSESSION:
or when commented out in ~/.xinitrc and sourced from the shell:
Caller: -bash
DESKTOP_SESSION:
GDMSESSION:
Any hints please?
Last edited by kozaki (2015-01-02 09:55:45)
Seeded last month: Arch 50 gig, derivatives 1 gig
Desktop @3.3GHz 8 gig RAM, linux-ck
laptop #1 Atom 2 gig RAM, Arch linux stock i686 (6H w/ 6yrs old battery ) #2: ARM Tegra K1, 4 gig RAM, ChrOS
Atom Z520 2 gig RAM, OMV (Debian 7) kernel 3.16 bpo on SDHC | PGP Key: 0xFF0157D9
Offline
is anyone using a tabbed layout for uzbl-core or vimb? If so, could I peek at your config? Just wondering how close anyone has gotten to simulating a "tab friendly" browser experience found in other players such as vimprobable, luakit, and others.
I use the tabbed layout of i3 with lariza:
http://fc04.deviantart.net/fs71/f/2014/ … 88shdz.png
This tabbed layout is one thing i was missing in other tiling window managers i tried out. I tried to avoid using tabbed by suckless in the past and i3 helped in that respect
Which further features would you need in a tabbed layout, apart from the things that i3 already provides?
Last edited by okraits (2015-01-02 16:08:42)
Offline
@ kozaki: Your terminals are crashing because the shell executed within them is crashing, because you're unnecessarily complicating a basic system process. Unless you have an exceptionally good reason to do this (and I mean have absolutely no choice in the matter, for whatever bizarre reason), you should just set environment variables via your login shell's defined method. Any variables set in ~/.xinitrc are in fact parsed and set by Bash, as the "startx" command is just a Bourne shell (sh) script, /usr/bin/sh is just a symlink to /usr/bin/bash, and unless I'm mistaken, GDM is just a fancy front-end to "startx". In any case the environment is separate from your user shell---any shell can set, read and inherit any environment variable---and no window manager should have any effect on the environment, save for reporting its existence to the system. So this isn't really an i3 issue, and there's really no such thing as "Bash-agnostic" environment variables.
Last edited by ANOKNUSA (2015-01-02 16:12:59)
Offline
Meaning there's no way to get an i3 session reads ~/.profile, and one has to duplicate the environment varialble definitions he puts in this standard place (like hibou57 on i3 FAQ question about Session's environment variables)
/me beginning to appreciate standards and giving them more attention, since I realized they give you back the attention one put in them. $HOME/*profile (and $XDG* which I started workin on) being part of them I believe.
But as quoted here by Gilles,
« If you log in in a graphical environment, you don't automatically get a login shell that reads ~/.profile. Depending on the graphical login program, on the window manager or desktop environment you run afterwards, and on how your distribution configured these programs, your ~/.profile may or may not be read. »
Is it being complicated to place the wm variables definitions in the wm config read on startx, and wm + shell-independant variable definitions & daemons in the user's session ~/.profile, on a machine I have access to via ssh, therefore need to be loaded by a login shell?
Seeded last month: Arch 50 gig, derivatives 1 gig
Desktop @3.3GHz 8 gig RAM, linux-ck
laptop #1 Atom 2 gig RAM, Arch linux stock i686 (6H w/ 6yrs old battery ) #2: ARM Tegra K1, 4 gig RAM, ChrOS
Atom Z520 2 gig RAM, OMV (Debian 7) kernel 3.16 bpo on SDHC | PGP Key: 0xFF0157D9
Offline
Hi windowsrefund,
I have a similar configuration (i3+vimb). The relevant lines of my i3 config file are as follows:
bindsym $mod+2 workspace 2:www; layout tabbed
assign [class="Vimb"] 2:www
for_window [class="Vimb"] border none
for_window [class="Vimb"] tabbed enable
Works pretty flawlessly. For the (very) rare times two Vimb windows spawn side by side for any reason:
bindsym $mod+w layout tabbed
That's all!
Last edited by sudoku (2015-01-25 02:48:11)
Offline
I got a bit further on understanding how i3 reads environement variables. Might sound dumb easy for more talented but here's what I found out using the folowing in (bash) interactive shell setup
echo Aliases before .profile
echo $(alias | cut -d '=' -f 1 | sort -u)
~/.profile and ~/.bash_profile are not taken in account by apps auto-launched from i3/config. eg aliases sourced from these two files are ignored in dmenu as well as auto-launched terms.
Now, manually starting a terminal in i3 and these shell setup files are sourced, as they are when manually login in tty (I use urxvt{d,c} ).
~/.bashrc is always sourced by i3/config, even if commented out in ~/.bash_profile (not the case for apps manualy started afterwhile).
Setup:
---------
i3-wm 4.8-3
Automatic login to virtual console via systemd (as per the wiki).
~/.xinitrc
<SNIP>
dunst &
urxvtd -q -o -f
exec dbus-launch i3
~/.bash_profile
# Import Z or Bash shell agnostic environment config
if [ -r $HOME/.profile ]; then . $HOME/.profile; fi
# Load interactive non-login bash config
case "$-" in *i*) if [ -r $HOME/.bashrc ]; then . $HOME/.bashrc; fi;; esac
~/.config/i3/config
<SNIP>
set $ei exec --no-startup-id
set $term urxvtc
### autostart
exec --no-startup-id i3lock -c 1D1F21
exec $term -name blocnote -e bash
exec $term -name partage -e bash -c "btlaunch"
exec $term -name root -e bash
Please how to have ~/.bash_profile sourced by i3?
Seeded last month: Arch 50 gig, derivatives 1 gig
Desktop @3.3GHz 8 gig RAM, linux-ck
laptop #1 Atom 2 gig RAM, Arch linux stock i686 (6H w/ 6yrs old battery ) #2: ARM Tegra K1, 4 gig RAM, ChrOS
Atom Z520 2 gig RAM, OMV (Debian 7) kernel 3.16 bpo on SDHC | PGP Key: 0xFF0157D9
Offline
Hi,
I got a bit further on understanding how i3 reads environement variables. Might sound dumb easy for more talented but here's what I found out using the folowing in (bash) interactive shell setup
echo Aliases before .profile echo $(alias | cut -d '=' -f 1 | sort -u)
~/.profile and ~/.bash_profile are not taken in account by apps auto-launched from i3/config. eg aliases sourced from these two files are ignored in dmenu as well as auto-launched terms.
Aliases are not environnement variables.
They are available only in the shell where they were declared.
dmenu_run (if that's what you are using) lists the executable files present in locations set in the PATH environment variable, so you won't see any alias there.
Now, manually starting a terminal in i3 and these shell setup files are sourced, as they are when manually login in tty (I use urxvt{d,c} ).
Strange, it is not the case for me (I tested by creating a profile and rc file with some call to echo).
~/.bashrc is always sourced by i3/config, even if commented out in ~/.bash_profile
Sourced by i3/config? Or do you mean "sourced by the interactive shells launched on i3 startup"?
(not the case for apps manualy started afterwhile)
What apps are you talking about? urxvt? others?
In my point of view, sourcing .profile in .xinitrc is the simplest thing to do (if you want to limit the number of places you define environment variables).
Offline
Maybe this link can help you with your problem.
I found it very helpful on understanding how the .bash* files are sourced (and .xinitrc). Don't know how to relate this to .config/i3/config 'exec' commands, though
Offline
@kaslusimoes:
Interesting link.
I use slim as SLiM as display manager (and I just the warning saying it is abandoned on the Archwiki).
Here is the login sequence with my setup :
(I type my login and password in SLiM)
→ SLiM run this command : /bin/bash --login /home/tharek/.xinitrc i3
→ .bash_profile is sourced by bash
→ the commands in .xinitrc are executed
→ exec i3
→ i3 load its config and run auto-started apps
→ /bin/sh firefox (i3's exec commands are ran with sh)
→ … (other auto-started apps)
and when I press my binding for opening a terminal
→ i3 run its exec command: /bin/sh urxvt
→ urxvt run the shell defined by $SHELL: /bin/zsh
→ /home/tharek/.zshrc is sourced by zsh
then I have a terminal I can type in.
Offline
I don't know how to be as precise as PotatoesMaster on what launches what,
I use autologin via systemd + Auto start X then i3lock to open the X session. then:
1) Shell
A - Login shell
~/.bash_profile
» source ~/.profile, which source --» Shell agnostic aliases, path (like XDG) and variables
» source ~/.bashrc, which sources global definitions and user Bash aliases
» startx at login: [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx
B - Non-login shell
~/.bashrc
|--» source global definitions: /etc/bashrc
|--» source bash aliases
2) X
~/.xsession is a symlink -» ~/.xinitrc
|--» source ~/.bash_profile (tried with and without condition checking for a terminal)
starts urxvt daemon
~/.config/i3/config
|--» Login via i3lock: `exec --no-startup-id i3lock -c 1D1F21`
starts urxvt clients and some other apps
pstree from auto-started as from terms manualy started:
├─login───bash───startx───xinit─┬─Xorg.bin───{Xorg.bin}
│ └─i3─┬─clipit─┬─{gdbus}
│ │ └─{threaded-ml}
│ ├─dunst───{gdbus}
As you can see I'm sourcing ~/.bash_profile from .xinitrc/.xsession, as PotatoesMaster's advice and per the page linked by kaslusimoes (thank you guys for that).
with these settings I have:
- Apps that are auto-launched from i3 as well as xinitrc and ~/.profile (eg XDG_{CONFIG,DATA,CACHE}_HOME and app config_home) start and have shell login paths and variables environement settings
- same behavior for terminals auto-started with i3: they have shell login paths and variables environement settings called via ~/.profile, but none of the shortcuts also called via ~/.profile
- the later are loaded by terminals started by hand.
While I don't understand that I can live with And digging in with you is useful to get a better understanding on how (Non-)Login shell + X are set up.
dmenu_run (if that's what you are using) lists the executable files present in locations set in the PATH environment variable, so you won't see any alias there.
Aye aye. Had just read Running dmenu with custom aliases ':]
Seeded last month: Arch 50 gig, derivatives 1 gig
Desktop @3.3GHz 8 gig RAM, linux-ck
laptop #1 Atom 2 gig RAM, Arch linux stock i686 (6H w/ 6yrs old battery ) #2: ARM Tegra K1, 4 gig RAM, ChrOS
Atom Z520 2 gig RAM, OMV (Debian 7) kernel 3.16 bpo on SDHC | PGP Key: 0xFF0157D9
Offline
Couldn't find an answer to this question elsewhere - how does one go about setting a custom font in the i3-winmenu script? I'm not familiar with python, but I thought you could do it with triple-quotes.
I've tried many variations, but most recently
dmenu = subprocess.Popen(['/usr/bin/dmenu','-i','-l',""" -fn 'Droid-Sans-11:normal' """, str(l)],
Offline
Try single instead of double quotes for the outermost quotes. I'm unable to try right now, but this way your double quotes get closed right after opening.
Offline
You could download the source and set the font option for dmenu at compile-time instead:
git clone http://git.suckless.org/dmenu
You will need to change "config.mk" and copy "config.def.h" to "config.h" and change the options there before running `make && sudo make install`
Last edited by Head_on_a_Stick (2015-02-15 12:55:59)
Para todos todo, para nosotros nada
Offline
I see on screenshots that most i3 users have no window borders ,how I do that ?
Offline