6 ms·
Way Cooler tiling window manager
- Apreche 9y agoIt's going to be a tough battle if they want to win my heart away from i3.
- modin 9y agoI feel the same way, although Wayland is a good perk. Will check it out.
- farresito 9y agoFear not, friend. There's a very active port of i3 to wayland: https://github.com/SirCmpwn/sway https://github.com/SirCmpwn/sway I haven't personally tried it, but I have heard about it a few times, so I assume it's fairly good. This is the list of supported features, if you are interested: https://github.com/SirCmpwn/sway/issues/2 https://github.com/SirCmpwn/sway/issues/2
- mort96 9y agoThe problem for me is that i3 is only a part of the puzzle. I use sxhkd for a bunch of hotkeys; that has to be replaced. I use xdotool _a lot_, and I don't know if such functionality is even possible in wayland. I use scoot heavily, both as a way to screenshot from a hotkey (presumably easy to replace?) and as part of scripts; my script which locks the computer uses scrot, imagemagick and i3lock. There's probably a bunch of other small things in my system which will break by not having an X server too.
- TokenDiversity 9y agoYou sound like someone who'd like keynav http://www.semicomplete.com/projects/keynav http://www.semicomplete.com/projects/keynav
- yjftsjthsd-h 9y agoSince it wasn't linked last time I looked, code is also at https://github.com/jordansissel/keynav https://github.com/jordansissel/keynav Shameless plug: I maintain a fork at https://github.com/yjftsjthsd-g/keynav https://github.com/yjftsjthsd-g/keynav because the original author hasn't been active in a while. Edit: wrong link :)
- TokenDiversity 9y agoNot so shameless if you add a scroll functionality I tell you lol. Actually even otherwise, it's not like you're earning money so no need to disclaim!
- yjftsjthsd-h 9y agoHm. That would be useful. I might have to do that.
- yjftsjthsd-h 9y agoHeh, so I went to look and see how hard it would be to simulate mouse scrolling, and the answer is... none. Literally none. Because X11 "mouse scroll" events are represented as button presses. Mouse buttons are 1=left, 2=middle, 3=right, 4=scroll-up, 5=scroll-down. So you just stick the relevant lines in your keynavrc; ex. i click 4 e click 5 That said, I may make an effort to document this better.
- TokenDiversity 9y agoI saw, I came here to thank and noticed you replied :)
- mort96 9y agoThat looks pretty interesting. stole the idea and made something similar in bash: https://github.com/mortie/nixConf/blob/master/bin/mousetree https://github.com/mortie/nixConf/blob/master/bin/mousetree, with hotkeys configured with sxhkd: https://github.com/mortie/nixConf/blob/d87f241963edc49a571717af931ba3708c790484/.sxhkdrc#L18 https://github.com/mortie/nixConf/blob/d87f241963edc49a57171...
- farresito 9y agoUnderstandable. One of the reasons I haven't switched is because so far my system works pretty well and I haven't had the need to use Wayland. What hotkeys do you use sxhkd for? I vaguely remember sxhkd supporting chords while i3 not doing so, but I don't remember more than that.
- mort96 9y agoI use i3wm's `bindsym` for stuff that's related to window management, like moving around windows, resizing them, moving windows or focus to workspaces, etc. Other stuff, like volume control, screenshots (print screen -> take screenshot, upload to a web server, put URL in clipboard), mouse movement (with xdotool), etc. is handled through sxhkd. There's no reason I couldn't just use bindsym for all of that, but now non-windowing hotkeys is not coupled with the WM, so I could choose to switch window manager and still have all non-WM hotkeys work.
- yjftsjthsd-h 9y agoThis is why I dislike Wayland. Forcing so much functionality through the WM means I can't just build my system out of small parts. I also do things that Wayland is specifically designed to break, like keylogging myself.
- renox 9y agoI agree with your first point against Wayland, but your second point isn't correct: Wayland's design is not meant to prevent keyloggers just to make them optional.
- yjftsjthsd-h 9y agoSame problem, really: now I have to find a window manager that natively supports key logging, rather than just running a small shell script in the background that listens for keyboard events.
- gingerlime 9y agoSounds interesting. Could you share your setup/workflow?
- mort96 9y agoHere's my git repository with all dotfiles and such: https://github.com/mortie/nixConf https://github.com/mortie/nixConf I use i3wm (well, i3-gaps) as the WM. Xdotool is just used to move the cursor with hotkeys: https://github.com/mortie/nixConf/blob/7c12d4215c703de0c6935d62c4fc7296c6c3c3e8/.sxhkdrc#L18-L28 https://github.com/mortie/nixConf/blob/7c12d4215c703de0c6935..., scrot is used both for a print screen button (scrot takes the picture, then it's copied to my server with scp, and the URL is put in the clipboard: https://github.com/mortie/nixConf/blob/master/bin/mshot https://github.com/mortie/nixConf/blob/master/bin/mshot) and for i3lock (scrot takes the picture, imagemagick pixelates, i3lock shows it: https://github.com/mortie/nixConf/blob/master/bin/mlock https://github.com/mortie/nixConf/blob/master/bin/mlock). I also have a project called dedaemon: https://github.com/mortie/dedaemon https://github.com/mortie/dedaemon. That uses udev to listen to events, like displays or input devices being connected or disconnected, and does a preconfigured to them. I for example have these lines, which sets the resolution and frame rate to any connected monitor to the highest possible, and positions it to the left of the primary monitor: https://github.com/mortie/nixConf/blob/7c12d4215c703de0c6935d62c4fc7296c6c3c3e8/.dedaemon.hcnf#L5-L9 https://github.com/mortie/nixConf/blob/7c12d4215c703de0c6935.... I imagine porting that functionality to wayland would be really hard, and probalby require writing custom extensions to each window manager separately. There's also this other project I have, which isn't really related to wayland, but which I still feel is relevant: mmenu - https://github.com/mortie/mmenu https://github.com/mortie/mmenu. It just makes dmenu work as a calculator, running the input through python if it doesn't match a program in your $PATH, plus some other features.
- gingerlime 9y agoThanks for sharing! I really appreciate it. Already "borrowed" the screen lock solution, and will look into other productivity enhancements :)
- virtualwhys 9y ago> I make unoriginal projects with better code than the thing they rip off. Nice github tagline for SirCmpwn ;-) I've checked the linked issue from time-to-time, looks like it's getting really close to feature complete now. Will probably explore Wayland + Sway after new laptop purchase later this year. In other news, i3 has been at the very core of my computing experience for 5 years running, absolutely fantastic application.
- actsasbuffoon 9y agoi3 is my #1 reason for wanting to switch from MacOS to Linux. I love a good tiling window manager, and the workarounds to emulate a tiling WM in MacOS just aren’t close enough to the real thing.
- bathtub 9y agoI did this recently for the same reason. Do not wait and get a Linux system with i3 tomorrow. You will be so much faster and more structured in your daily workflow than with Alt-Tab. A nice side effect: Apps feel much faster than on OSX. I don't know why but everything is snappier and just more resonsive despite a much weaker CPU and same hires screen on the Linux system. Especially the terminal rendering and application switching which is instant.
- Null-Set 9y agoIt might have to do with the transition animations in OSX. I found a long time ago that turning off the animations in Windows makes a system feel a while lot more responsive.
- itomato 9y agoYou can run another window manager (i3) under Xquartz. http://fanf.livejournal.com/142372.html http://fanf.livejournal.com/142372.html
- city41 9y agoI switched from OSX to Linux specifically for i3. Linux is still a pretty annoying OS with lots of little to even big problems like NetworkManager flaking out, suspend/resume being flaky, trackpad annoyances, etc. But despite all of that, I still use Linux because i3 is that damn good. i3 has fundamentally made computing more enjoyable, and enables me to stay "in the flow" much more.
- dom0 9y agoKDE managed to do that with me and it isn't even a tiling WM ... and I spent quite a lot of time on i3pystatus (and somewhat less time on j4-dmenu-desktop).
- JetSpiegel 9y agoAnd for i3 on Wayland there's already Sway.
- stephen123 9y agoWay Cooler is designed from the ground up to be secure. Rust prevents Way Cooler from ever having a data race, dangling pointers, or a segfault. Large classes of security vulnerabilities, such as from buffer overruns or use after free, are a thing of the past. haha nice selling point. Could add this to any app built with a memory managed language. =P
- vertex-four 9y agoWhile true, fact of the matter is that window managers (esp for Wayland, since the window manager now needs to contain a compositor and complete Wayland server implementation itself) need to be speedy enough and bind to enough libraries at a low level that most of them wind up being written in C, so this is a selling point vs the competition as it stands.
- jstimpfle 9y agoI would be interested to know if the performance can be noticed in (sensibly written) non-C window managers, but I doubt it. Probably the biggest reason for many of them being written in C is a cultural thing. I, for one, know only the C Xlib.
- fnord123 9y agoData races are possible in memory managed languages. And segfaults are thrown over the fence to the runtime. I'm sure anyone who has used Java in anger has seen segfaults. I certainly have. Personally, I think the statement is too strong. Rust is not immune to these things as the compiler is victim to all the realities of software development that all projects face. But it certainly does dramatically reduce the bug vectors.
- wuch 9y agoYeah, I suppose for the end user I doesn't matter if program stopped working because of segmentation fault or a panic. Though, if one were to choose on of those issues, then obviously runtime errors are preferable over memory-safety problems that might lead to an arbitrary code execution. BTW, in Java data races do not cause undefined-behaviour. In fact there is no undefined behaviour in Java at all (as specified at least, in practice as you and many others have observed things may work quite differently).
- majewsky 9y agoThis goes on my "need to check out" list. I've been toying with the idea of switching to a tiling window manager for a long time, but I've held it off over not wanting to switch window managers yet again when making the move to Wayland.
- sofaofthedamned 9y agoGod knows how to install on Fedora, install script didn't work for me on my test box (installs but doesn't appear on list of WMs in login screen)
- awinder 9y agoYou likely need to add a new file under /usr/share/xsessions, copy an existing one to a way cooler oriented version
- sofaofthedamned 9y agoGotya, thank you!
- sunseb 9y agoGood project, but the name is bad... WC: https://www.google.com/search?q=wc&source=lnms&tbm=isch https://www.google.com/search?q=wc&source=lnms&tbm=isch
- actsasbuffoon 9y agoAt a high level, this sounds a lot like a Wayland version of Awesome: https://awesomewm.org https://awesomewm.org Both are tiling window managers that are extensible through Lua, support D-Bus, etc. If you want to check out something conceptually similar, but aren’t ready for Wayland, consider trying Awesome.
- jasonkostempski 9y agoApplication name checks out.
- angrygoat 9y agoFrom the docs: > Way Cooler comes in two primary flavors: i3 and awesome. > The i3 flavor is set up like a default i3 install, with the same keybindings and tiling algorithm. The only difference between this flavor and actual i3 is that the primary configuration format is still Lua. Sounds very good, I'm an i3 user and I had a lot of trouble getting Sway going on my Ubuntu Xenial box, so I'm going to give this a whirl.
- sfar 9y agoI was a little disappointed to find out it's based on the C WLC library rather than being a full Rust implementation.
- mastax 9y agoThere's some complications involved with switching, you might find this thread interesting: https://github.com/way-cooler/way-cooler/issues/248 https://github.com/way-cooler/way-cooler/issues/248
- usernam 9y agoDoes anybody know what's the _current_ status of window decorations in wayland? Client-side decorations was an incredibly poor choice in the original design. From the screenshot I cannot tell if it's just a custom theme or the "wm" is drawing them.
- FreeFull 9y agoThe WM is drawing its own decorations, but in the screenshot you can also see that the GTK+ programs are drawing decorations too, so you've got two layers of decorations.
- sfar 9y agoAFAIK it's unchanged. The Wayland spec doesn't really concern itself with decorations. It's up to the apps and compositor to figure it out. QT allows decorations to be disabled and so works well with a tiling compositor. GTK doesn't. There are various GTK patches and hacks floating around to address this but nothing upstream. Older software generally works well by virtue of pre-dating client-side decorations.
- usernam 9y agoI don't expect anything anymore from GTK given it's current track record. The latest issue I discovered was the 'letter' to filename shortcut you used to have in file dialogs. It now triggers recursive search instead. Incredibly irritating, especially when used with large and/or FUSE directories, even considering there's a one line patch to allow customization though dconf which has been ignored since more than one year. GTK 3 has been downhill usability-wise for me. One of the primary reasons I've stopped as a developer to use it entirely.
- okbake 9y agoThe recursive search is frustrating. I'm so used to doing <first few letters><enter> to navigate from the root directory all the way down to what I'm looking for. It's not only the small hangs while it searches but also the information overload with all of the results when I'm only ever looking for a specific sub directory in the directory I'm currently in. I guess I'm so used to using it as a hotkey instead of a search.
- splittingTimes 9y agoPrivately using dwm [1] for many years now and never looked back. But having to working under a MS Windows 10 setup now, I was wondering: Is there anything equivalent for MS Windows? === [1] http://dwm.suckless.org/ http://dwm.suckless.org/
- gman83 9y agoYou might try this: https://losttech.software/stack.html https://losttech.software/stack.html
- digi_owl 9y agoKinda. Windows 10 has the ability to tile windows by dragging one of them to the left or right screen edge, or corners (dragging one to the top edge maximize it). But they can only resize nearby windows when there are a vertical split between two windows. If i try using a full height window on one side, and two half height on the other, Windows fails to resize the neighbors to match any changes i make.
- vanderZwan 9y agoThis might take away some of the pain of resizing windows: > Taekwindow is a simple, lightweight and free Windows program that allows you to move and resize windows by dragging them with the Alt key, similar to many X11 window managers. https://github.com/ttencate/taekwindow https://github.com/ttencate/taekwindow
- isaac_is_goat 9y agoYou might want to look into Aqua Snap, it solves a lot of those resizing problems. I'm not affiliated, just a happy customer. http://www.nurgo-software.com/products/aquasnap http://www.nurgo-software.com/products/aquasnap
- penpapersw 9y agoAlso Win+Arrows moves windows to sides/corners. It can do up to a 2x2 grid. Not full featured but better than nothing.
- peletiah 9y agoSurprising there's no comment on XMonad yet. Well, it needs a replacement as soon as Wayland is going to become established.
- pjmlp 9y ago> configurable using Lua, Oh, brings back memories from when I used to have Sawfish installed.
- dimatura 9y agoI've been using tiling window managers for over 10 years, and for this time has been spent on ratpoison (after brief stints with wmii, awesome and dwm). Despite i3/xmonad/bspwm/etc/etc I keep going back to ratpoison for two features I haven't found elsewhere: - chained key commands, a la emacs. E.g., I use C-a b to open a bash terminal. I do use non-chained commands, like Mod4+n to go to the next window, but chained key commands can be much easier to do one-handed, and so far it seems ratpoison is the only to offer built in support for this. - manual window arrangement. I don't care for the window layouts most tiling WM's since dwm/xmonad seem to use. Until I see those features in another wm I'll probably remain one of the handful of ratpoison users.
- smoyer 9y agoI'm just now in the process of moving from XFCE to Ratpoison - I'm trying more and more to memorize the hot-keys and avoid moving my hand to the mouse.
- asdfgadsfgasfdg 9y agoi3 has modes which sort of allow the chained key command idea.
- OvidNaso 9y agoi3 has mode maps which are not quite like chained commands, but pretty close (e.g. you have to exit the map instead of just abandoning the chain if you change your mind halfway through a press). I love them, they can do anything and you have the option of a pop up key map that displays the key function (or whatever you want) once you hit the first key.
- mbrock 9y agoAfter using Ratpoison as my only window manager starting in 2004, I've now switched to Stumpwm for the better multiscreen support. (It's the successor to Ratpoison, written in Common Lisp.)
- LamdaNomad 9y ago
- dkersten 9y agoMy faovurite window manager ever is GOOMWWM, which is a manual[1] tiling window manager with some stacking window manager features, is extremely keyboard centric, lightweight, customisable and easy to use. Its also tiny, so if you want to hack the source, its not that dificult to figure out. Its sadly not actively developed (the latest github commit was 2 years ago), but in my experience, its been very stable and I’ve used it for years without any issues (although I stopped using it almost 2 years ago when I started using a mac for work). I haven’t tried way cooler, but if it were to let me work like I did in goomwwm (especially manual tiling), I’d be sold. Dbus as the integration mechanism sounds interesting and I like rust and lua too. [1] I never liked automatic tiling personally
- iLemming 9y agoI spend most of my time working in OS X and I use Hammerspoon. It is really an awesome tool. It allowed me to establish truly keyboard-centric workflow. Not just for managing windows, a lot more. I also have Linux machine at home, I don't use it a lot yet I've been thinking about developing better way to work in Linux - something that lets me keep my hands in "the home row". Can someone recommend a tool similar to Hammerspoon?