Giter VIP home page Giter VIP logo

i3ass's Introduction

i3ass

commands to assist and extend the use of i3wm.

logo

installation

If you are using Arch linux, you can install the i3ass package from AUR. (AUR is no longer supported, but as of writing this it still "works")

Or follow the instructions below to install from source:

$ git clone https://github.com/budlabs/i3ass.git
$ cd i3ass
$ make
# make install

build dependencies

GNU make, Gawk, bash, GNU sed
go-md2man is needed to re-build the manpages (optional)

runtime dependencies

bash, i3wm, xdotool, Gawk

changelog

See the last releasenote.

usage

The table below lists the included commands. The links go to the wiki page of each commands. There is also a lot of videos on the budlabs youtube channel, where i3ass is used and explained.

In the wiki there are also two examples on how i3's config file can be configured to make use of most of i3ass.
(https://github.com/budlabs/i3ass/wiki/i3-config-example)

script description
i3Kornhe move and resize windows gracefully
i3ass Print environment information
i3flip Tabswitching done right
i3fyra An advanced, simple grid-based tiling layout
i3get prints info about a specific window to stdout
i3gw a ghost window wrapper for i3wm
i3king window ruler
i3list list information about the current i3 session
i3run Run, Raise or hide windows in i3wm
i3var get or set a i3 variable
i3viswiz professional window focus for i3wm
i3zen zentered container, full focus

license

i3ass is licensed under the MIT license

i3ass's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

i3ass's Issues

[i3fyra] Restart i3 will cause the layout corrupted with bunch of "i3: nowins"

The issue is described as title. I wonder if there is an easy way to restore the layout. Currently the only thing I can do is to close all the windows and all the "i3: nowins". Otherwise, spawning new windows cannot be handled properly by i3fyra.

Steps to reproduce:

  1. Have a few windows open managed by i3fyra
  2. i3-msg restart

2018-09-15-124533_1365x53_scrot

i3fyra version used is 0.501, installed from AUR.

Thanks!

[i3run] Will not windows move to empty workspace

I have this binding in my i3 config

bindsym $mod+Ctrl+f exec i3run -s -i "thunar" -e "thunar"

Suppose I move to an empty workspace, and the keys, it will open thunar for the first time correctly.
I press the keys again, it will hide thunar.
If I press again, I will be switched to nearest lower workspace and thunar will be shown.

This happens with empty workspaces only.

Does this work with i3-gaps? Getting syntax errors ...

Hi, I'm trying to use i3viswiz with i3-gaps but I'm having some trouble. I added the commands to my i3 config file like this:

bindsym $mod+Left exec --no-startup-id ~/.scripts/i3ass/i3viswiz left
bindsym $mod+Down exec --no-startup-id ~/.scripts/i3ass/i3viswiz down
bindsym $mod+Up exec --no-startup-id ~/.scripts/i3ass/i3viswiz up
bindsym $mod+Right exec --no-startup-id ~/.scripts/i3ass/i3viswiz right

but when I use the keyboard command, nothing happens. I tried running the script just straight from the terminal and I get these syntax errors:

ckp95@ckp95-desktop:~/.scripts/i3ass$ ./i3viswiz left
awk: line 6: syntax error at or near [
awk: line 17: syntax error at or near if
awk: line 18: syntax error at or near [
awk: line 20: syntax error at or near [
awk: line 25: syntax error at or near [
awk: line 6: syntax error at or near [
awk: line 17: syntax error at or near if
awk: line 18: syntax error at or near [
awk: line 20: syntax error at or near [
awk: line 25: syntax error at or near [

I can run the help command ./i3viswiz -h and it prints the documentation just fine, and I can run the version command ./i3viswiz -v and it gives

i3viswiz - version: 0.018
updated: 2018-06-30 by budRich

I haven't checked all of the other scripts yet but it does seem like i3get is working. e.g. I can do

./i3get -i gedit -r tcidnmwafov
*Untitled Document 1 - gedit
Gedit
gedit
27263108
94713688104640
1
false
auto_off

and that works. But i3viswiz is having problems ... :(

Any idea what to do? This is my i3 -version:

i3 version 4.16-86-g1fd20ce7 (2018-12-14, branch "gaps-next") © 2009 Michael Stapelberg and contributors

Toggling Window Float With i3fyra -a Causes Crash

Hi Budrich,

I3ass worked well intil the latest upgrade. Afterwards, an attempt to toggle a floating window with "i3fyra -a" causes the window title bar and status bsr to disappear. FWIW, the status bar uses py3status, but the crash appears to be at a deeper level.

When the crash happens, I get a pop up stating that i3 crashed, but no details indicating why.

Cheers,
Phil C

i3fyra containers B and D don't work

I know that this bug #39 has been fixed, but I have the exact same problem:
i3fyra -m (l/f) and (left/fight):

[ERROR] no matching window.
ERROR: Given criteria don't match a window
[ERROR] no matching window.
ERROR: Given criteria don't match a window

i3fyra -m (A/B/C/D) - everything works well

i3fyra - version: 0.551
updated: 2019-02-19 by budRich

i3 version 4.16 (2018-11-04) © 2009 Michael Stapelberg and contributors

i3ass - version: 2019.03.14.5
updated: 2019-03-14 by budRich

script | version

i3flip | 0.052
i3fyra | 0.551
i3get | 0.35
i3gw | 0.174
i3Kornhe | 0.033
i3list | 0.045
i3menu | 0.02
i3run | 0.041
i3var | 0.033
i3viswiz | 0.044

dependencies:
bash [INSTALLED]
gawk [INSTALLED]
i3 [INSTALLED]
rofi [INSTALLED]
sed [INSTALLED]
xdotool [INSTALLED]

[i3frya] Using for_window rule to set floating disabled while no i3fyra layouts are active causes i3fyra layout to start shifted over

Hey, you may already have a better solution to this but I have been running into some funny results when loading my terminals in the wrong order.

I haven't switched to your new way to float with ipc yet but I think this is unrelated.

I had a for_window [instance="tiledterminal"], floating disabled line for setting my terminals like I showed you in the --force issue thread.

It all works great when I have and active i3fyra layout already running.

I found though that if I open a tiled terminal before opening my first application with a window rule to move it to a specific container, my entire i3fyra layout would start building in a split with the first tiled term taking up the entire left side of my screen.

I know that just opening these applications in the right order would mean this would never happen. You might even have a command or something baked in i3ass to fix this but i haven't found it.

If you have something that works for this situation I'd like to hear your thoughts on this. I know that I could auto launch a program that goes to a i3fyra container on startup but I want my computer to open with just my status bar and my wallpaper when I first log in.

The solution I am currently doing instead of using floating disable in my for_window 's I wrote a script that I run on my tiled term in the for_window for those instances. In that script I look for i3list[LVI] and if it is blank I run i3fyra -a to force a layout to open when it first tiles. If the i3list[LVI] is anything else I run an i3-msg -q [con_id=$(i3get)] floating disabled so that it ends up in my focused i3fyra container and not the default container which i3fyra -a does. I do a focus before I run my script so that the window that is active is the one running this script, I believe my current script is broken if I don't.

If this makes any sense, I'd love to hear your thoughts or fixes. I am currently not on the computer that I made the script on and will post my exact for_window and script when I am able.

Thanks again!

P.S. I would like to PM about some other thought I've had to get some insight but I don't know if that is possible on git.

P.P.S I also couldn't figure out how to post a issue on your new repo set up. I dont know if I am missing something or its disabled.

[FR] i3flip - enable default focus function in other direction

Consider changing i3flip accepted directions from n & p to usual d,u,l,r;

  • when tabbed container is focused, and l or r are received (or u or d for stacked), act as is now;
  • when u or d is received (l or r for stacked), revert to default i3 behavior, ie select the top or bottom container instead.

[i3Fyra] Sending something to container via it's name

Is there some way for me to send certain things to containers via their names?
Say, if I were to open a firefox image upload window, the class and instance would be the same as the firefox window, so what i'm asking, is it possible to send something to a certain container via the name of the actual window?

For example, file uploader will always be called "File upload".

[i3Kornhe] Restore original window title when exiting size / move mode

First of all, thanks for sharing your workflow to the community. Great work indeed.

There is a minor improvement suggestion for i3Kornhe:

When entering the size / move modes, it may save the latest window title somewhere, so that when quitting modes the original window title could be restored. Currently the touched windows will be left with "SIZE" as title, which could be confusing sometimes.

[FR] document i3viswiz code

I don't really speak awk, and i3viswiz is too much of a mystery at this point.
But the functionality is superb.

Full disclosure, I'm searching for better ideas for similar python implementation I've been using for some years now: gist

[i3flip] move never activates regardless of options supplied.

Hey budrich,

I have found another little refactoring error.
I honestly barely know git or bash so I'll just do little notes like the last issues I found.

In the option assignment section of your code move gets set to $2 and shifts to the next arg.

while true; do
  case "$1" in
    --move       | -m ) __o[move]="${2:-}" ; shift ;;
    --help       | -h ) __o[help]=1 ;; 
    --version    | -v ) __o[version]=1 ;; 
    -- ) shift ; break ;;
    *  ) break ;;
  esac
  shift
done

I found that this never triggers movetarget at all in the main loop. I made changes to the option assignment section so that it sets __o[move] = 1 and now does not shift, I'm not sure if the shift after the while loop breaks has anything to do with that.

while true; do
  case "$1" in
    --move       | -m ) __o[move]=1 ;;
    --help       | -h ) __o[help]=1 ;; 
    --version    | -v ) __o[version]=1 ;; 
    -- ) shift ; break ;;
    *  ) break ;;
  esac
  shift
done

I also had to change a line in the main loop from

  if ((__acur[total]==1)); then
    ERX "only one window in container"
  elif ((${__o[move]:-1}!=1)); then
    movetarget
  else
    i3-msg -q "[con_id=$__orgtrg]" focus, focus child
  fi

to

  if ((__acur[total]==1)); then
    ERX "only one window in container"
  elif ((__o[move]==1)); then
    movetarget
  else
    i3-msg -q "[con_id=$__orgtrg]" focus, focus child
  fi

After these changes I've gotten i3flip to function normally.

Again, thanks for the scripts!

P.S. I've found some of your old i3config files around the web and they have been helping me implement this code and I was wondering if you would share your i3term, thunaropen and foldermen scripts if you are still using them.

#!/usr/bin/env bash issue

Firstly, thanks for sharing. I've only used i3Kornhe so far, but it's exactly how it should be, great work.

Had one small issue with setup. The scripts all use #!/usr/bin/env bash to locate bash, but this wasn't symlinked on my machine (ubuntu 18.04 server) by default.

It might be helpful to check /usr/bin/env in the installer, and warn the user. The installer might print the ln command, or ask to be run with sudo & then fix it automatically. I'm happy to add this and submit a PR. However, it's an easy fix for the user to do and will add clutter to the installer, so if you don't think this is worth adding please close this issue.

Thanks!

Scratchpads in i3fyra

Is there a way to have scratchpads in i3fyra? Whenver I set a scratchpad it'll just go into whatever container I have set for my terminals, I don't see anyway around this? I know of i3run but how would I make a urxvt terminal that doesn't instantly go into the container?

Also to mention, I tried following this https://www.youtube.com/watch?v=QqDMpuIikXA;
i also tried bindsym $mod+Shift+Return exec i3run -i floatterm -s -e 'urxvt -name floatterm' well as in my config but that didn't work.

i3ass not installing via AUR

I've been using yay to install. This is what I get in terminal when trying to install.

    2019.01.11.0.tar.gz ... Passed
==> Cleaning up...
==> Making package: i3ass 2019.01.11.0-1 (Mon 14 Jan 2019 03:28:31 AM MST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Found 2019.01.11.0.tar.gz
==> Validating source files with sha256sums...
    2019.01.11.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting 2019.01.11.0.tar.gz with bsdtar
==> Sources are ready.
==> Making package: i3ass 2019.01.11.0-1 (Mon 14 Jan 2019 03:28:31 AM MST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Entering fakeroot environment...
==> Starting package()...
make: i3ass: Command not found
make: *** [Makefile:16: install] Error 127
==> ERROR: A failure occurred in package().
    Aborting...
Error making: i3ass```
I haven't tried building the package directly from github by cloning.  I'll try tomorrow.  Figured I'd give you a heads up.

installers not working

I ran install.sh -q /home/me/i3 and the scrit ran and only made man pages. I don't have the commands available via my shell. I don't think this is expected.

Also, I'm running arch, and tried installing via AUR, and have the following error:

 ==> Validating source files with sha256sums...
    v.0.1.65.tar.gz ... FAILED
==> ERROR: One or more files did not pass the validity check!
Error downloading sources: i3ass

Division by Zero errors

Hi,

Found your i3fyra scripts from your youtube videos and found it really cool. However, when trying to follow, I got some errors when running i3fyra and nothing else happens:

i3fyra -l 'AB=-370 BD=250 AC=130'

awk: cmd. line:2: (FILENAME=- FNR=1) fatal: division by zero attempted
awk: cmd. line:2: (FILENAME=- FNR=1) fatal: division by zero attempted
awk: cmd. line:2: (FILENAME=- FNR=1) fatal: division by zero attempted

I'm running the latest versions of your scripts from this repo, using i3-gaps version 4.15.0.1-2

[i3fyra] Not functioning properly when used outside of i3fyra workspace.

I'm experiencing this after I replace the default move commands with exec --no-startup-id exec i3fyra -m <direction>, where <direction> is the l/d/u/r accordingly.

It seems to work fine when in the i3fyra workspace, but if I try to use it in other workspaces it will move that window to the bottom-right container in the i3fyra workspace, no matter the direction.

[i3fyra] workspace bug

Hi I want to use the script but my workspaces do not work as expected
As you can see in the video, there are only two places to go and sometimes it goes to the work area named X and when I restart it it gets better

https://youtu.be/jFBsdNIW2Ic

i3viswiz with i3-gaps

Let me start by saying i3viswiz is awesome. But sadly it doesn't work well with i3 gaps.

My problem is when the layout is like this

__________________
|        |       |
|        |   B   |
|   A    |-------|
|        |   C   |
|________|_______|

I can switch from B to A and C to A, but I can't switch from A to B.

I think this is because viswiz focus from the middle of A, but it only see gaps there because I have gaps turned on.

I think the script should gracefully fallback a few pixels up or down depending whether it can focus successfully or not.

Thank you. You're youtube channel is awesome too.

i3run hide window and not container?

Sorry for the bombardment of issues. I hope it isn't an issue within of itself haha.
Is it possible to have i3un hide the window and not the the whole container? I'm pretty sure it is possible I may just be missing something in the man pages.

Showing a hidden container makes the window inside it larger.

Not sure how to explain this, but when showing a previously hidden container, the window within it will be larger than what I had set in my exec.
If this is a mistake on my end please do not hestitate to tell me haha.

example; https://0x0.st/zcpq.gif

My config for hidden shit;
bindsym $mod+a exec i3fyra "AC=100 BD=250"; exec i3fyra --show A
bindsym $mod+shift+a exec i3fyra "AC=100"; exec i3fyra --hide A

[i3run] reshowing window on renamed workspace create an extra workspace and move it there

I create a key binding to run ranger bindsym $mod+c exec i3run -i ranger -e "termite -e ranger --name ranger"

On my workspace "1:Chrome" , i pressed $mod+c to show it, i pressed the keys to hide it, then i pressed the keys again to show it but an extra "1" workspace was created at it move my ranger instance there. This problems seems to happen on other renamed workspaces

image

hide it

image

then show it again but it moves to workspace 1 instead of 1:Chrome

image

Thanks for any helps 👍

[i3fyra] floating state toggled randomly for certain windows

Everytime I reopen my laptop and enter a command into the terminal, it will pop out to floating to which I have to reset it back into its container. After that it will be fine until I close my laptop and the screen shuts down and then I have to do it over again. This seems to happen with other applications as well (sublime text) but not nearly as frequently. Seems to need some sort of command to make the windows pop out to floating or something. I saw in one of your videos that you had this same experience. Wasn't sure if you had found a fix or know the reasoning behind it.

Thanks!

EDIT: Retested and it doesn't happen the first time I open terminal but it does happen randomly and always after I enter a command in

Wrong variable name in makefile

Hej. In the makefile, you mistyped a variable name (INSMAN instead of INSTMAN). The error happens twice. It has as a consequence that the man pages aren't removed when doing make uninstall.

It is a very minor thing but you know... For the sake of completeness.

Jag älskar dina Videos!

Newest spawned window won't take focus

Whenever I start a terminal, in my top container, A. It doesn't take typing focus, so i'll still be typing where I was before.

Did some testing and this only seems to be for my terminal. Urxvt..
If I start a second terminal in the same container that second terminal will take focus though./ if I start it in any other container it will take focus fine.

[i3frya] containerhide command showing errors in terminal and not hiding window.

I've been slowly trying to implement i3ass and had been having some issues with containers not hiding properly. I did a lot of testing to try and figure it out with tons of echo test and echo $var. I am using i3run and it was behaving weirdly from what i had expected after watching the majority of your youtube lets linux.

i3run was unable to hide windows handled by i3fyra. i3run would hide windows unhandled and floating. i3run would then return them from the scratch pad and they wouldn't be floating anymore ( i3list issue about the TWF key not being set ). I did some debugging to try and fix it and i believe that the problem with the handled containers in this code.
elif [[ -n ${__o[hide]:-} ]]; then cmd=containerhide target="${__o[hide]}"
or this code
--hide | -z ) __o[hide]=1 ;;
I choose to change the former to
elif [[ -n ${__o[hide]:-} ]]; then cmd=containerhide target="$1"
and got it to work.

I am not positive that this is the exact thing causing my issues but I'm currently testing with the changes I've done to i3fyra and i3list and it's seems to be working as intended now. I may have changed some other things then this and can attach my current copy of your code that I have edited to resolve my issues.

You may have even caught these already but I'm posting in case it might help someone. Thanks for the awesome layout.

[i3list] doesnt do type for target window at the moment

Currently in your repo i3list has what I believe to be a bug.
if (floats ~ /on$/) window[type]["AWF"]=1 else window[type]["AWF"]=0

This caused some problems with i3run setting a i3var for unhandled floating windows as well as the sendtomouse function not getting called with a i3run -m

I've changed the lines to this and it has handled some of the
if (floats ~ /on$/) window[type][type"WF"]=1 else window[type][type"WF"]=0

[meta] git/GitHub reorganization of i3ass

budlabs/i3ass
  master branch - release branch, if this branch changes a new release is created.
  next branch - default branch, will seldom be different from master branch used as a bridge between dev branch
  dev branch - contain all repos from i3ass-dev as submodules and a build script that will generate wiki (also submodule) content and the content of the next branch

i3ass-dev/i3ass
  master - this branch is updated to i3ass-dev/i3ass dev, when a new release (budlabs/i3ass master) is created
  dev - development branch for the i3ass **command**/script
i3ass-dev/i3get
  master - this branch is updated to i3ass-dev/i3get dev, when a new release (budlabs/i3ass master) is created
  dev - development branch for the i3get **command**/script

something like this, i read some articles about the downsides of using a monorepo git structure, and i thought it make sense, it will also be smaller releases and easier for people to read the source with out all the auto generated stuff and bashbud templates and duplicate documentation documents and so on.

i think it will be good

[i3list] problem for distros with POSIX /bin/sh

i3list fails on Ubuntu 16.04 (and probably other Debian based distros too) because the brace expansion on line 17 is not supported by POSIX sh. This causes the other scripts to fail too.

Changing the shebang to #!/bin/bash fixes the issue for me

window focus remains same but input goes to container A after exiting dmenu

Hey budrich,
If I am in the i3fyra workspace and execute dmenu but quit it without starting any program, the focus window remains the one which it was previously but the keyboard input always goes to container A(if it exists).
If A doesn't exist input goes to container C. If C doesn't exist it goes to D.

[i3fyra] Errors with getting i3fyra working

I originally had i3-gaps and was having this issue so I reinstalled as regular i3 but the issue persists =/.
I have been following your video tutorial on i3-fyra "Let's Lynux #3: I3fyra". I've gotten to the point where you are writing in the commands to move containers about 15min in.

When I type in i3fyra -m left command I get these errors:
ERROR: Given criteria don't match a window
[ERROR] no matching window.
ERROR: Given criteria don't match a window
[ERROR] no matching window.
ERROR: Given criteria don't match a window
When I type in:
i3fyra -m right
i3fyra -m up
i3fyra -m down
I get no errors but the window doesn't move either and the titlebar text changes depending on the location I have the window. In example of what title bar says is:
"MOVE w:1437 h:1038 x:922 y:623"

Now when I actually move to a container in the next step in the video I get a weird result as well.
It's as if it doesn't want to split the containers horizontally. I get different orientations depending on which order I try and place the containers as well as a 'null' error. I have uploaded 8 pictures to imgur giving you a "slideshow" type appearance so you can see my steps. First time I do, A, B, C, D and second time I try B, A, D, C and get a null error in container A.
Link to imgur pictures: https://imgur.com/a/oDUzTdr
As you can see, the containers AC and BD are connected both times. Depending on the order I do it in, I always get A and B on top and depending on the order C or D on bottom. If I make A first then B and D will be split together and be stuck in a tab up top where I can tab between A and the B D split with C on the bottom. If I open B first I get A and C stuck up top in the split that I can tab between with D on the bottom by itself. Hope this isn't too confusing xD.

The only things I had done so far in your video were to set all windows to open floating as well as ctrl+shift+space fyra setting. I have a 4k monitor laptop, I hope that has nothing to do with it. I can post my i3 config if needed.

I really hope we can figure this out, I'll reinstall if I have to :(

[i3flip] add move function

it would be cool to be able to move containers in a similar way as focus, keeping target window within the same parent container.

when starting i3fyra i get the error Failed to find appropriate t c

hello bud, i'm loving i3ass but for about 3 days now i'm having some problems with i3ass, i3fyra when starting shows me this error, and i reload on i3 and add the decoration then restart again gives this error but it works , i3run does not change the name of the application,i'm using archlinux with i3-wm without gaps,I installed the i3ass from aur.

[i3run] add --force option, always execute command (and rename)

originally posted by @APotOfSoup in #51 :

Termite doesn't have a command line option to change the class or instance name. It does have the ability to change the window title but decided against using that as I wasn't sure it would work in the long run.

I was having trouble getting xdotool to work at first but now see that I need to supply the window id and not the container id.

I originally added the --force option to i3run because I was having all that trouble and thought it would be easy to throw in a || statement and get i3run to launch the command even if a window with that name already exists.

That may seem silly but do see value in it in situations like I am using it.

For example I have my terminal commands set up very similar to what I seen in your old config files I found. The first line is the one that has the force command. It will always lay down a terminal in the currently focused container. Nothing special.

$super+Control+Return 	$exe i3run -f -i tiledterm -x termite -e termite
$super+$alt+Return 	$exe i3run -s -i floatterm -x termite -e termite 
$super+Shift+Return 	$exe i3run -i topterm -x termite -e termite
$super+Return 		$exe i3run -i cornterm -x termite -e termite

With urxvt the name could be set on that line quite easy, and I'm sure I could do it with xdotool quite easy now as well, all without i3run; But now with the change I've made that --force flag and the already included '--rename' is all that is needed to launch any number of programs with specific class or instance names, even if the user is like me and couldn't figure out how to rename a terminal themselves haha

At first the --force flag was just a quick way to get the main function to always run. After adding it to the getopts stuff the only real change I made at first was one line in the main function.

  if (( $nowin==1 )) || [[ -n ${__o[force]} ]]; then
    launchcommand
  else
    focuswindow
  fi

Now i3run -f -i mynamedinstance -x 'some_instance' -e 'some_command' will just keep running the -e command and renaming every single instance that was created like I wanted.

That was great! I thought I added a good feature that might help others.

Until using it for a couple hours I figured out that I created a new issue because it would consistently focus a different instance then the newly created one.

This is why I asked about making i3get look for the newest instance so I could make sure the i3run command would focus the newest instance.

I figure out now that I could solve this a much simpler way.

I made the i3get that is run during the rename section of launchcommand store the results into a array. I made it return both the container id and the window id so I could use those pointers in i3-msg or xdotool respectively. This one will always be the newest instance because it returns the results before renaming it.

Now I just added a check to the line to set i3list[TWC] to either the container id that we already found or run the i3get that finds the container id with the acri array.

That was all the important changes to get this working as I wanted.

I made a couple more change that actually fixes the send to mouse command when it's ran during the launchcommand section.

i3list[TWF] is never set before attempting to use it in a check
Because of this I moved the eval i3list outside that check and changed the options like this eval "$(i3list -n "${i3list[TWC]}")".

Container B and D disfunction

Hello bud,

First thank you very much for putting all these effort into making an enjoyable tool usable by everyone

I discovered i3ass on reddit and I watched your video, I instantly wanted i3fyra to work on my computer

Unfortunately it doesn't seem to work on my laptop

INSTALLATION
I first installed it by cloning this git repo, filling the Makefile with a custom TARGETDIRECTORY (I created a /home/user/bin for customed software)
And then modified my .config/i3/config by using what you told on your video,
basically for all window -> floating enabled ; mod+shift+space i3fyra -a and then personalizing all other application to open in correct container

ISSUE
The family doesn't seem to be created correctly
Container A and C are working correctly, but B and D are acting suspiciously. They open as Tabbed with the A container and when I stack them manually (mod+e) I lose all the benefits from i3fyra
Also, i3fyra -m left, up and down are working for container A and C but i3fyra -m right is hiding all containers and I am not able to get them back

I first thought it was my config that was perturbing everything so I tried it with the initial config i3 gives us when we first launch it and I have the same behaviour

I also tried to install i3ass from AUR, from dev branch and I tried one commit that was from 2017 ahah

Anyway, thank you for your time and if my issue is not obvious for you, don't take too much time thinking about it
I'll either figure something out or give up ahah
Cheers

i3viswiz multimonitor support

I recently got a second monitor. The i3 default focus behavior works across monitors: if I'm on the monitor on the right, on the leftmost window of that monitor, and I focus left, it will go to the monitor on the left.

i3viswiz does not do this. It would be nice if it did!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.