It's written by Michael Stapelberg, it was the project for his bachelor thesis.
He is the creator of the i3-wm window-manager.
Man, there are two things I'd have expected to've been mentioned dozens of times by now, but nothing.
Redshift. It adjusts the color temperature of your monitor based on your geographical location and the time of day. It pretty much eliminates eye strain. It is probably in your distro's repositories, under the package redshift
. I went to the liberty of pastebinning its manual: <http://ix.io/mfy>.
A tiling window manager. They are popular on /r/unixporn if you want a nice idea of what they are capable of. My configuration is pretty boring, but here: <https://i.imgur.com/pQAHphK.png>.
The windows are stored in a hierarchy, and usually such that there is no wasted screen space. It allows for much quicker navigation between windows. Most tilers are also super lean, super fast, and reasonably easy to configure & use. I use i3wm, which I recommend.
"Minimizing" can be handled through the scratchpad.
Alt-tabbing is 100% possible, but no, there is no built-in binds for that (nor should there be, IMO, but that's another argument)
Keeping focus on current window when opening another is possible with the no_focus
config directive (https://i3wm.org/docs/userguide.html#no_focus)
The official user documentation is very simple to understand (compared to other docs, anyway): https://i3wm.org/docs/userguide.html
The Arch Wiki also has a good article on it: https://wiki.archlinux.org/index.php/I3
i3-gnome-flashback provides a way to use many GNOME tools with i3 (such as the control center): https://github.com/deuill/i3-gnome-flashback
Also note: i3 has a popular fork available, i3-gaps, which essentially adds the ability to add gaps/spaces between tiled windows.
You'll be somewhat limited if your using something like Gnome etc, but if you went with something like i3 the sky is the limit. I'm guessing that's the porn your talking about? There are other options then i3, but that's the only window manager I've played with.
I love i3 mainly because I'm not an expert in it. I don't have to be. I only had to learn some basics about split/stacked/tabbed containers, and figure out how to lock workspaces to specific screens, and I was ready to be productive. The online user guide is great, providing just the right amount of detail, and very well written.
Which is why I mentioned the user guide. Read the parts 1-3 which totals ~2000 words and multiple illustrations and you'll have complete understanding of how to use i3.
Of course if you have a tech illiterate granny who has little interest in learning any keys it might be needlessly hard to try to introduce them to i3, but then again those people are probably very satisfied with touchscreen-like interface of Gnome 3.
neovim's terminal emulation is amazingly good. That's a solid option.
I use my window manager i3 to handle splitting non-vim windows, though.
For tmux / screen users: imagine tmux but for anything - browsers, terminals, vlc. That's i3wm.
> What I miss most from Unity Desktop is the nice looking system tray I had
Not sure if it's "nice looking" (whatever that means) but i3 does have a system tray.
Clickable <code>RELEASE-NOTES</code> link for the lazy
> • “resize” with pixel values now works for tiling containers
This is the big one for me, thank you!
EDIT: the --release
bugfixes broke my workflow, lol. I have:
bindsym $mod+Tab workspace back_and_forth bindsym $mod+Tab --release workspace back_and_forth
Which used to mean when I let go of $mod
first, it would stay on the other workspace, and when I let go of Tab
first, it would return where I started. Now it returns in both cases. I'm not mad, just amused. I can still cancel the --release
binding by hitting some other key, though.
The file manager could be ranger or vifm. The ascii logo with the info is archey. The window manager he is using could be ~~i3~~ dwm (as pointed out by /u/Regimardyl).
The aesthetics part is mostly show yes. It is called "ricing". Check out /r/unixporn for more information. The programs themselves are valuable, if you do not like to use your mouse (like me).
It's explained in the user guide:
> The --no-startup-id parameter disables startup-notification support for this particular exec command. With startup-notification, i3 can make sure that a window appears on the workspace on which you used the exec command. Also, it will change the X11 cursor to watch (a clock) while the application is launching. So, if an application is not startup-notification aware (most GTK and Qt using applications seem to be, though), you will end up with a watch cursor for 60 seconds.
You can use workspace prev
and workspace next
commands. For example add this to your config:
bindsym $mod+o workspace next bindsym $mod+i workspace prev
More information here. Also you can move your cursor over the bar and use scroll wheel.
Have you seen the following link?
https://i3wm.org/docs/userguide.html#_arbitrary_commands_for_specific_windows_for_window
I use this in my i3 config:
# this works for Firefox and probably other programs too for_window [instance="^Download"] floating enable for_window [instance="^Update"] floating enable for_window [instance="^file_progress"] floating enable for_window [window_role="About"] floating enable for_window [window_role="Preferences"] floating enable for_window [window_role="^Manager"] floating enable for_window [window_role="pop-up"] floating enable
You can use xprop to get window classes, as mentioned in the guide linked above.
I learned it a year or two ago, before I thoroughly customized I just made sure I knew enough to at least pull up firefox. Then from there I just went to https://i3wm.org/docs/userguide.html and kept that open for awhile until I felt comfortable enough to not need it.
You could try forcing a font in your i3 config file
https://i3wm.org/docs/userguide.html#fonts
I have San Francisco, FontAwesome and hack.
Starting i3 with lightdm.
Try the stuff from the link, if that doens't work, try lightdm?
Well, it helped me solve the same issue, so I'm glad it's here.
For the lazy:
The "for_window" command. Take a look at the official documentation, point 4.11 (click me!)
(Remember: you can use the "xprop" command to view infos about any window, including its class)
Use i3
Even if you want to do text only, it is nice way to have multiple things on screen that look good and is easy to navigate between. (And tiny bar above to put your stats on
And when you want to watch a movie you dont have to switch.
CLI-only might be a fun challenge, but reducing keyboard-mouse switching is actually useful for being productive.
When I encounter this, it is always related to startup-notification, see here.
>The --no-startup-id
parameter disables startup-notification support for this particular exec command. With startup-notification, i3 can make sure that a window appears on the workspace on which you used the exec command. Also, it will change the X11 cursor to watch (a clock) while the application is launching. So, if an application is not startup-notification aware (most GTK and Qt using applications seem to be, though), you will end up with a watch cursor for 60 seconds.
Are you frequently using exec
to spawn applications in this manner?
Is a Windows Manager like XFWM. It's funny because I just tried it a few minutes ago for the first time over Manjaro (xfce). Seems so beatiful, but it's weird to manage as first time. I don't know if is better, maybe with practice it's is. I use this tutorial to install and configure it: https://github.com/ibrahimbutt/direwolf-arch-rice Isn't hard to configure, but you need some minutes to do it. Try it in a Virtual Machine and maybe it will convince you.
Edit: You need this to manage the windows: https://i3wm.org/docs/refcard.html
You do move them around with your keyboard, but it’s extremely simple and efficient; you can find a couple of images showing the default keybindings here. You can easily learn it in less than a minute. I’ve actually found it way more simple than those of desktop environments’.
Pros: It’s extremely simple, efficient, customizable and lightweight. You can also do everything from your keyboard, which is a huge pro for me.
Cons: Can’t really think of much. I guess some people want a desktop environment, and, well, this isn’t one. And most people are only familiar with one, so if a friend tries to use your computer, they probably won’t have any idea how to use it.
it sounds like i3 is working sort of, and you either have it configured wrongly, or you don't know how to use i3.
win+enter or alt+enter may open a terminal.
look here..
https://i3wm.org/docs/refcard.html
the [1] at the bottom left is i3 showing you are on desktop 1.
the bottom right, is the status command feature in i3 that seems to be missconfigured.
if you log out via the proper i3 key combo you can select a different desktop on the login screen. or you can kill the x session via the console.
alt+shift+e or win+shift+e
do not use the automatic login feature, you sort of painted yourself into a corner with that.
and stop using the term 'brick', you are using it wrong.
summary:
disable auto login.
learn how to configure and use i3
stop using the word 'brick'
ʘ‿ʘ
oh. by default i3 is using a black wallpaper it seems..
There is no best, keep trying different desktop environment until you find one you like.
The actual distro does not matter much in this regard it is mostly about which desktop environment or window manager that you chose to use (and various distros will come with different ones by default, but you can install many more on them afterwards). Using a window manager along is generally considered more lightweight, but at the same time less featureful and the choice is generally a tradeoff between these two features.
I prefer the i3 window manager, it is very responsive but that is not the main seller for me - it is a tiling window manager so you can be far more productive on it since it is largely keyboard focused rather than mouse focused.
Your tray_output primary
should be on the next line.
Take a look at the documentation for status_command and for tray_output.
I had a multi-monitor setup at my workstation at my last job, but lately I just use a 15" laptop for all my development. I know this is a personal preference thing, but I've become convinced that you can work just as efficiently with a single monitor than with multiple monitors as long as you have decent screen resolution and develop the right workflow. I use the i3 window manager (my tiling WM of choice) with emacs as my text editor for almost all my development, but any sort of keyboard-driven environment that provides an efficient mechanism to switch between different applications and window layouts is at least worth consideration.
I've never missed the 2nd monitor--in many ways it's actually been more convenient and comfortable for me without it. In practice it takes me less time to press a hotkey or whatever than it would for me to physically turn my head to a 2nd monitor.
Anyway I don't know if that's helpful at all. Just trying to provide some alternative perspectives :) I used to be all about these really complex and fancy setups but now I follow some kind of "less is more" philosophy.
Take a look at the release notes: with this version, i3 switches its build system from autotools to meson.
In case you’re unfamiliar, check out https://i3wm.org/docs/hacking-howto.html#_building_i3
You can add something like this to ~/.config/i3/config
for_window [class=".*"] resize set width 33 ppt
You can find more resizing options here.
> I think I have something in my i3 config file that's causing a glitch, because when I login to i3, I'll get a spinning cursor like it's loading something, but the loading cursor lasts forever.
You're probably exec
uting a script that does not support startup notifications without using --no-startup-id
. From the i3 docs:
> The --no-startup-id parameter disables startup-notification support for this particular exec command. With startup-notification, i3 can make sure that a window appears on the workspace on which you used the exec command. Also, it will change the X11 cursor to watch (a clock) while the application is launching. So, if an application is not startup-notification aware (most GTK and Qt using applications seem to be, though), you will end up with a watch cursor for 60 seconds. [Source]
The i3wm User's Guide for one. /u/addy-fe made a i3 Starterpack you might be interested in if you are looking for an example.
Keyboard, keyboard, keyboard! The road to enlightenment is paved with learning or creating shortcuts for anything you use more than a few times a day.
This includes shell aliases. Who's lazy enough to alias vim
to v
? This guy. (I don't think the single-character namespace on shells is empty for no reason)
But even more importantly, tiling window managers. I don't know anyone who has gone back after climbing the -admittedly steep- learning curve.
In tiling WMs, you delegate window movement/placement do the keyboard. There are usually three modes:
My WM of choice has been i3 for years. The idea is that you start simple and progressively adapt it to your liking. Everything I do frequently (and not) is mapped to keyboard shortcuts. Great docs, great community.
Alternatives: Xmonad, AwesomeWM
(Not exactly an answer to you question, but still hope it's helpful)
If I were you I would check out a tiling window manager like i3 (https://i3wm.org). It's a bit daring to begin with, but the documentation of i3 is awesome. This will basicly give you what you are looking for, e.g. using Alt+2 to move to workspace 2. Each workspace can then hold one a several open windows.
I know it's not exactly what you're asking, but personally I can't imagine working on a non-tiling workspace now that I'm used to it. Using the keys for everything is the whole idea of these window managers, and it have greatly improved my workflow.
Refering to https://i3wm.org/docs/userguide.html#keybindings you could use something like bindsym $mod+caret
. You can use xev to see the actual name of the key. (I cannot be more precise as I'm currently running wayland-only setup).
You need to remove the $ from the line, it just shows that the command should be run as user, not as root.
For ricing i3, it's not really that hard. Most things that you'd be looking for is changing i3's colors together with your terminal colors. Here's a link of the i3 documentation on how to do that, I can't help you with your terminal, but seeing as most people use rxvt, this page should help you along.
Just ask if you need more assistance, I'll be glad to give it to you.
"To change the configuration of i3, copy /etc/i3/config to ~/.i3/config (or ~/.config/i3/config if you like the XDG directory scheme) and edit it with a text editor." - https://i3wm.org/docs/userguide.html#configuringhttps://i3wm.org/docs/userguide.html#configuring
while you are at it, don't forget about this one:
hide_edge_borders both
Saves you nice 2 px of horizontal space :)
I guess you already know about User Guide - [https://i3wm.org/docs/userguide.html]https://i3wm.org/docs/userguide.html
> connect to wifi
wifi-menu, networkmanager, netctl-auto, ...
> set the resolution of my monitor
> set the positions of my multi monitors
xrandr, arandr
> floating window
> volume
alsa-mixer, pavucontrol, ...
> battery status
acpi
You'll have to write an IPC script: https://i3wm.org/docs/ipc.html
Using something like i3ipc-python:
#!/usr/bin/env python
import i3ipc
def on(i3, e): if e.container.window_class in ['YourMailClient', 'YourChatApp']: e.container.command('resize set 66 ppt')
i3 = i3ipc.Connection() i3.on('window::focus', on) try: i3.main() finally: i3.main_quit()
i3wm docs. For terminal font it depends on which terminal you use.
Also after doing some changes you have to restart i3. I think it's $mod+shift+r
.
One more thing. Go to /r/unixporn and look through other people config files to see how they do it. It might help you a bit.
Edit: added few things.
Not exactly what you want but you could use marks.
From the manpage of i3-input:
Mark a container with a single character: i3-input -F 'mark %s' -l 1 -P 'Mark: ' Go to the container marked with above example: i3-input -F '[con_mark="%s"] focus' -l 1 -P 'Go to: '
if you bind those commands to keys, for the first one a small input window will appear. There you can set a single character/digit as a mark for the focused window. With the second one you can enter the same character/digit to focus on the marked window. To make the marks visible in the title bar you can set show_marks yes
in your config.
I suppose you could also write a script to automatically set a mark for each new window.
I think OP means the title bar of the windows. Although I don't know if there is a way to move it to the side, you can always remove it if you need the space. I personally don't need them or like them. Check out the default_border
option in the i3 User's Guide.
The i3 user guide is a must-read. In your case, you'll want to take a look at section 4 (Configuring i3).
For a good video tutorial, see here. It's a three-part tutorial series. The first video will teach you the basics of using i3 if you are new to it. The second video covers configuring i3 in the config file. Once you are comfortable with the content from these two videos, you can move to the third video, which covers ricing.
Obligatory link to the docs: https://i3wm.org/docs/userguide.html#multi_monitor
While I would really, really love to be wrong about this, I'm pretty sure the way most people do this is to set up a udev script that detects a new monitor and runs a script with the appropriate xrandr commands. Personally I got tired of futzing with udev and just have a script for each monitor configuration I use and just run them manually when I plug something in (warning: be sure to also have a script that resets everything back to just using laptop screen and always run it before disconnecting externals or i3 can get very sad).
I do think xrandr can do mirroring, but you might have to search around for the exact invocation.
In this instance you are in "Stacking" layout. You have pressed Mod+s.
Other available layouts are the splits(v and h) and tabbed. You can read about them in the i3 guide
It happens that when pressing multiple times Mod+v or Mod+h in a container's parent it creates more and more nested containers. To delete them you have to move out of such container.
You can find something relevant here in the post's answer.
Sorry if it's not too clear, but it comes from my search for i3 stuff during my first week. I am a newbie, too.
By creating child windows inside a container. Split horizontally and then vertically within each horizontal split (splith and splitv). You can navigate the container tree and move them to achieve whatever configuration you want. https://i3wm.org/docs/userguide.html#_tree
right, Elliot strikes me as more of a FreeBSD guy who would probably use i3wm or something else very lightweight. He'd need ports to customize package source code rapidly to new hardware environments but also have the flexibility of using packages if seconds counted for a task.
Possibly Slackware but I'm just not seeing him going with a bastardized hybrid of Debian and Ubuntu unless forced. Maybe as a VM under VirtualBox or something, hard to say.
https://i3wm.org/docs/userguide.html#_border_style_for_new_windows
https://i3wm.org/docs/userguide.html#_interesting_configuration_for_multi_monitor_environments
I would recommend everybody that did not read the user guide yet to do so, it's very well written and gives a lot of insight about how i3 works and what can and can't be done with it. Easy and fast read, well worth it.
I think reading the documentation would be a great start. https://i3wm.org/docs/userguide.html Some things I use are i3blocks because of all the options it offers as well as i3-gaps, both of which have fairly good documentation on their respective github pages and man pages.
i3wm for the win.
For those not familiar i3wm is something called a "tiling window manager" (Though it also supports floating windows) that makes handling application windows with a keyboard only much easier, and much more fluid.
Ever think to yourself, "Man, having to move all of these windows around to work on more than one thing sucks", then a tiling WM is something worth giving a try.
I3 doesn't have a concept of a default browser as it is merely a window manager. The default i3 config (not manjaro i3) in fact has no binding to open one. This is a detail entirely of your own config which you must necessarily learn how to edit as it is the only way to configure i3. You can view the docs at https://i3wm.org/docs/userguide.html
Please note that bindings and other settings are actuated when they are loaded at i3 startup. Changing a text file has no effect until you both write the file and reload or restart i3 in place. This can be done by running i3 restart in a terminal or using whatever binding is bound to restart in your config.
Please note however that changing your binding is insufficient because although the correct browser will open when you using your binding once you can be bothered to actually change it the correct browser wont open when you say click a url in another application. This is down to mime type handling which is substantially outside of the i3 topic. You should review the following link to learn more.
https://wiki.archlinux.org/title/default_applications
Incidentally Librewolf is less shitty than palemoon it is still a pretty shitty choice. It has no sync capabilities and no mobile version.
You could as well simply install firefox, install ublock origin and turn off the minimal telemetry firefox comes with like crash reporting.
https://www.howtogeek.com/335712/update-why-you-shouldnt-use-waterfox-pale-moon-or-basilisk/
Dude, First thing you should always see is official documentation.Usually it will have everything you need.
https://i3wm.org/docs/userguide.html#_changing_colors
Send it to the scratchpad.
Automating this so you can do it from the config will require a script, but shouldn't be too hard. If you want inspiration, this program does that (and more); you could even use i3quake to do it. It automates starting a program, finding the ID, tagging it, then sending the tagged window to a scratchpad. It'll also find a tagged window and restore it, which is really what I wrote it for. But it might work for you, or you could hack it up in bash yourself.
The basic solution is "sticky", but "sticky" windows will appear on each workspaces.
https://i3wm.org/docs/userguide.html#_sticky_floating_windows
One of the key features of i3 is its documentation. Literally everything you'd need to know is written as clear as it's going to get (besides someone literally showing you the commands to write) on their website.
To support a vertical dock, a window manager has to implement a special kind of window hint. The developers of i3 chose not to do it.
Yes, see the ipc docs and specifically the get_tree command (i3-msg -t get_tree
).
You can prototype this using i3ipc-python (or a library in the language of your choice).
Example:
import i3ipc
i3 = i3ipc.Connection()
for con in i3.get_tree(): if con.window and con.parent.type != 'dockarea': print("id = {} class = {} name = {} workspace = {}".format( con.window, con.window_class, con.name, con.workspace().name))
By the way rofi can do what you are asking: rofi -show window
It seems, as if Shift
is counted as a modifier and therefor cannot be distinguished from left or right (and also not added as its pure code via bindcode). Additionally, there seems to be handling of different layouts by now: https://i3wm.org/docs/userguide.html#keybindings (see the explanation of Group1,...
)
It might actually be the easiest way to check out existing code and use it as an inspiration. You can also take a look at this. It's the official documentation. I3 is ~~pretty good~~ well documented.
@Everyone Guys, OP said
> how, with the info that the OP provided, do I replicate this look?
> with the info that the OP provided
So he know there is a description on the Unixporn post.
@OP I see you're a fairy new user in Linux world, so for now I would advise not trying to replicate his setup. He's using i3 window manager which is something different that your current setup. Window managers are bit tricky and require tweaking - a lot of stuff there uses keyboard shortcuts that you should know beforehand. i3 is an alternative to your current Desktop Environment - KDE. As one of the posters said, it's possible to use them both but it's not an easy task.
While the config you posted might look great, it may not be tailored for your needs, especially since you're just starting. I would suggest to stick with what you have for now and if you'll get more familiar with Linux then experiment with different window managers. Take a note though that KDE offers a lot of customization options out of the box - just go to system settings and change whatever you like.
If you really want to replicate the posted config, first you would need to visit this page to learn more about i3-gaps and this one to learn more about i3 itself. After you successfully install this WM (it should be in Debian repositories), we can tweak it for your needs.
Pretty much this: https://i3wm.org/docs/layout-saving.html and this: https://wiki.archlinux.org/index.php/i3#Save_and_restore_the_window_layout
The only thing I am struggling to define is which terminal takes which space, because they all have the same name and title so i3 just places them randomly in any of the saved spaces.
I believe so - i3 supports modes (see the default config resizing mode and hotkeys) and I expect you can use that to do what you want. You'd set whatever hotkey you want to use to enter into the mode, and then just bind the hotkeys while in that mode without requiring a modifier.
Perhaps something like
mode "windows" { bindsym h focus left; mode "default" bindsym l focus right; mode "default" bindsym Escape mode "default" } bindsym $mod mode "windows"
I'm not sure if there's a simpler/different way, I haven't tried/looked.
https://i3wm.org/docs/userguide.html
That user guide is really the best option. It is big, but it's perfect.
After that just search Google and GitHub for other users i3 configs.
One other thing, the top bar, i3bar, has separate configs. But that guide talks about it.
It's probably not the file manager just the picker window beeing wayyyyy too big to see anything. You can just Mod+RightMouseButton
(if you use default config) to resize it until you see the content of the window!
Cheers and have fun with it ;) Some helpful links https://wiki.archlinux.org/title/List_of_applications and the really good i3 help/FAQ section https://i3wm.org/docs/
for_window [class="gnome-terminal" title="Terminal"] move workspace 4
smthg like this, https://i3wm.org/docs/userguide.html#command_criteria this command criteria part,
also are all gnome-terminal named Terminal
by default, if yes then this will also apply to them which you don't want, so change the default title or try something else form what i mentioned above.
Check out this part of the documentation if you haven't already: https://i3wm.org/docs/userguide.html#_configuring_i3bar
That said, I don't think there's really anything to help you there. I think it's pretty hard-coded into the i3bar how those workspaces are drawn. (I was sort of trying to see if I could get each individual workspace to be its own color, but couldn't find an easy way to do my thing either)
Well if by always, you really mean always, you could use layout saving and auto launch that layout, sublime, and your terminal at startup.
Other than that I think IPC is the way to go.
sudo apt install i3
Now just log out. You should be at your Display Manager. Look for a drop down menu, by hovering icons on your log out page(DM). There should be a i3 listed. Choose i3, log back in, now your using i3.
Use i3 webpage to know how to operated i3.
Enjoy i3. Time to visited r/unixporn.
Usually happens when you have an exec line in your i3 config without --no-startup-id https://i3wm.org/docs/userguide.html#exec
edit: the rules are a little confusing, would recommend giving the documentation a good read.
Yes. Reading the userguide (https://i3wm.org/docs/userguide.html) will teach you why and how it works. Assuming you have all five apps open, horizontally next to each other, no nested containers and focus on the last one:
split v
layout tabbed
focus left
move right
focus left
split v
layout tabbed
focus left
move right
focus left
move right
If that doesn't work, go back to the tty, install dmenu, and then use sup/alt+d to use it to launch gnome terminal then use the i3 documentation to get app shortcuts working.
You're welcome.
A laptop is the ideal companion for every programmer out there in my opinion; you can take it everywhere with you, so there is more likelihood of you actually using it to learn new tricks, whereas a desktop computer is a better solution if you stay at home a lot.
If you're a Linux user, I suggest you give the i3 window manager a shot. For me this eliminated the need to have multiple monitors completely. As an added bonus, it looks cool, is incredibly fast and lightweight but also super customizable!
Check out i3 at https://i3wm.org/
Take a look here. It says
>Commands can be chained by using ; (a semicolon). So, to move a window to a specific workspace and immediately switch to that workspace, you can configure the following keybinding:
>
>bindsym $mod+x move container to workspace 3; workspace 3
So in your case
bindsym 1 exec ~/.screenlayout/normal.sh; mode "default"
You can create an empty placeholder window with
i3-msg open
This is an undocumented command just for the i3 testsuite though.
What you really want is to assign a workspace to a certain output:
Adding
exec --no-startup-id i3-msg 'workspace 1; exec firefox' exec --no-startup-id i3-msg 'workspace 1; exec x-terminal-emulator' exec --no-startup-id i3-msg 'workspace 2; exec emacs'
etc. to your config should work (see https://i3wm.org/docs/userguide.html#assign_workspace).
Should be achievable through the IPC interface:
Notify me if you are having trouble doing it.
> the configs look convoluted from what I've seen
i3 is probably the easiest twm to configure (the userguide is very good), plus 80% is just binding keyboard commands, which all have the same form:
bindsym [keyboard+combo] [action]
The configs may look long and hard to read because everything must be specified in the config file. But if you just launch i3 without a config, the default config will be generated for you and you can build on that.
Alternately, try out Manjaro-i3, they have a pretty nice initial config (not to mention it uses i3-gaps by default). I installed it on my desktop and merged some ideas from it into my own.
Not even i3wm.org can give you ideas?
Or not even r/unixporn
http://www.zdnet.com/article/hands-on-with-the-i3-window-manager-installing-configuring-and-using/
r/i3wm/
I just get my hands dirty. I never ran out of ideas. Because I have a very large imagination. So all you got to do, is expand your imagination.
After I get things setup perfect. I then start my workflow. Trying to improve my workflow everyday. Until I'm happy how things are going. Having a i3 Window Manager. Changing things never end.
You can call windows from the scratchpad with criteria. See https://i3wm.org/docs/userguide.html#_scratchpad
The proper criteria for no_focus
in that case would be .*
, as it is a regex. .
would match any window with a class that is a single character.
As for the minimization buttons, nothing can be done there except to get the application developers to respect desktop environments. As an aside, pressing Minimize on Steam does not screw it up for me (although Steam is screwed up in other ways for me under i3)
> I think the main reason for those binds are that the creator put [h]orizontal and [v]ertical mnemonic above vim bindings.
That might have had something to do with it, but the user guide makes a home row argument:
> To move the focus between the two terminals, you can use the direction keys which you may know from the editor vi. However, in i3, your homerow is used for these keys (in vi, the keys are shifted to the left by one for compatibility with most keyboard layouts). Therefore, $mod+j
is left, $mod+k
is down, $mod+l
is up and $mod+;
is right.
System stuff:
Looks:
Programs:
After you play around with DE's, you might find yourself curious about Window Managers, like i3wm, examples.
There are pros and cons to DE's and WM's, but if you are about minimalism, WM's are worth exploring. Down the road.
/r/i3wm
Look here. All you have to do is get the layout the way you want and then run the command to save it for each workspace. Then add the call to append the layouts in your config file.
3 things are very good and very helpful to understand i3 and I think every one should watch it if they want to get into it
Alex got a decent tutorial on urxvt as well!
np, it's not magic :) remember to read up on the stuff you use on Arch Wiki and for i3 the Users Guide which is really well written.
>I’ve installed i3 twice or so and didn’t understood so i ended up uninstalling it
Install i3 your third time. But this time take your time readying everything about i3 on the i3 site. Everything you need to know is right there.
Anytime I use any Tiling Window Manager. I look up their default keybindings. So I have a little idea what is going on.
You remove the titlebars by setting the border to "pixel"
https://i3wm.org/docs/userguide.html#_changing_border_style
the ^.*
just targets all windows.
for_window [class="^.*"] border pixel 2
What I did was open https://i3wm.org/docs/userguide.html on my phone the first time around, using default shortcuts (i3 will suggest to create a default config file for you the first time you run it - do that).
Once you get the basics (the app menu, opening a terminal, and basic tiling), you can customize your env to your heart's content :)
You were faster than me. I'll just add:
So for instance I've got:
font pango:GoMono Nerd Font 18 # class border backgr. text indicator child_border client.focused #000000 #000000 #008800 #000000 #000000 client.focused_inactive #000000 #000000 #303030 #000000 #000000 client.unfocused #000000 #000000 #303030 #000000 #000000
Never mind. The first thing you should do is to check the official documentation. First understand the basic usage of i3. Then read the configuration docs. I3-gaps is a fork of i3 that adds gaps around windows. To install it, uninstall standard i3 and replace it with i3-gaps.
Well, you have a minimal version that works but doesn't do everything you want and a maximal version that doesn't work but has the things you want. You could try adding in one line at a time to the minimal version until you identify the problem. When you identify the problem lines, you can Ctrl+f for the relevant terms in the i3 user guide.
You may want to define bindings to reload your config and restart i3, just to make that process easier.
# reload the configuration file bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart
If the mode hide
line isn't the issue, my next guess would be that the display you're trying to output to doesn't exist.
SEE : https://i3wm.org/docs/userguide.html
-> 4.20. Changing colors
Syntax :
<colorclass> <border> <background> <text> <indicator> <child_border>
# Colors
#EXAMPLE:
# <clientclass> <border> <bg> <text> <indicator>
client.focused #da2263 #d70a53 #ffffff #eb709b
client.focused_inactive #565656 #444444 #ffffff #666666
client.unfocused #373737 #222222 #888888 #444444
client.urgent #ec7ea4 #eb709b #ffffff #eb709b
When you say “the building FAQ page”, which URL specifically are you referring to?
If you’re referring to https://i3wm.org/docs/hacking-howto.html#_building_i3, please note that said document is explaining local development, so installing i3 is neither required nor desired.
Note that in general, the i3 project’s take on this matter is that users should not need to build from source and should use i3 from their Linux distribution instead.
You can assign the windows to run in a single workspace based on window class or other criteria. Check out assign in i3 docs and read the section on command criteria
The output of xev
is just giving you the keycode for the key you pressed. Unless your system is set up to trigger some sort of event when you press that key, it's not going to do anything. Unlike Windows, or some other full DEs, i3
may not have all keyboard shortcuts you might want configured out of the box.
You may need to go to your i3
config file and set up keybindings for what you want to happen when you press certain keys. The <code>i3</code> documentation can help you out with how to set up keybindings.
Is the config file being loaded? Maybe it's not saved in the correct location. Like if you were to write indsym
instead of bindsym
there and reload, do you get an error? You might also want to check https://i3wm.org/docs/debugging.html
I think you need to tell the bar to use a specific font so it knows to use the icons from the right set.
For instance, I used to use helvetica, and have any missing symbols fall back to fontawesome for icons.
In my bar I specify:
font pango:Helvetica-Normal,Hack,FontAwesome 20
More info here https://i3wm.org/docs/userguide.html#_font
For i3, you need pango, see its docs.
Urxvt uses xft, see its docs.
If you're trying to configure a different program, I recommend you consult its docs.
From the official website:
> i3 is primarily targeted at advanced users and developers.
Furthermore, i3wm is a tiling window manager, not a desktop environment. Minimalism comes with the territory. You have to do a lot by yourself. If you're not willing to do that, you should use something like XFCE, KDE or Gnome.
Anyway, these are my media key configurations. They may or may not work on your computer. Just paste them on your config file and run i3-msg reload
on the terminal.
bindsym XF86AudioPlay exec playerctl play-pause bindsym XF86AudioMute exec amixer -q set Master toggle bindsym XF86AudioRaiseVolume exec amixer set Master 10%+ bindsym XF86AudioLowerVolume exec amixer set Master 10%-
If you need more information, don't be afraid to ask. But search the user's guide first. It's excellent.