GithubHelp home page GithubHelp logo

tleino / cocowm Goto Github PK

View Code? Open in Web Editor NEW
11.0 1.0 1.0 199 KB

Column Commander Window Manager for X11 Window System is inspired by Plan9's acme editor and strives to minimize the need for micromanagement.

Home Page: https://namhas.dev/#cocowm

License: ISC License

Makefile 0.92% C 99.08%
window-manager x11 x11-wm tiling-window-manager acme-like plan9

cocowm's Introduction

cocowm

cocowm is a Column Commander Window Manager for X11 Window System that specializes in automating layout management by arranging program windows automatically in columns. Therefore, cocowm is a tiling window manager and in particular is most inspired by the Plan9 acme editor, as well as the Plan B operating system's GUI.

A key differentiation of cocowm as compared to other window managers is that cocowm is oriented towards receiving high-level commands from the user, such as "move window to left", via a keyboard shortcut, which moves a window one column to the left and resizes if space allows for it, rather than by manually micro-managing precise placement and size using a mouse.

Controls

cocowm is fully controllable using keyboard and partially controllable using mouse.

Edit keyboard.c to modify default key bindings.

cocowm is used best when windows are explicitly created by the user using cocowm command line via Win+Enter or Win+Space.

So, for example, don't ask your browser to create a new window, but ask cocowm to do it.

cocowm tries to help in selecting the correct program using the following magic:

Running commands

Open the prompt via Win+Enter or Win+Space. Exit the prompt using Esc (cancel) or Enter (launch).

  • Run URLs: If no spaces but has at least one '.', prefix the line with "firefox-esr ".
  • Run shell commands: If the line begins with '!', prefix the line with "xterm -hold -e "

Edit action.c to modify these.

Focusing windows

  • Win+Left Left.
  • Win+Right Right.
  • Win+Up Up.
  • Win+Down Down.
  • Win+Tab Previous.

Moving the focused window

  • Ctrl+Win+Left Left.
  • Ctrl+Win+Right Right.
  • Ctrl+Win+Up Up.
  • Ctrl+Win+Down Down.

Actions for the focused window

  • Win+o Toggle keep open.
  • Win+m Toggle minimize.
  • Win+h Toggle hide others.
  • Win+f Toggle fullscreen.
  • Win+r Restart command.
  • Win+Space Replace with new command.
  • Win+Enter Run new command.
  • Win+q Close.

Minimize means window is explicitly hidden and needs to be reopened manually.

Hide means window is temporarily hidden and is shown automatically when hiding is toggled off.

Managing the window manager.

  • F11 Restart.
  • F12 Quit.

Dependencies

  • No dependencies if you're compiling for a normal/sane Unix-like system that has X11 Window System.

Compiling

$ ./configure ~
$ make
$ make install

Customizing

  • Edit Makefile.in and e.g. remove or add compile-time options using -D in the CFLAGS. E.g. see 'WANT_ONE_PER_COLUMN' option.
  • Edit files such as keyboard.c
  • Edit hspacing and vspacing in init.c

Customize using .Xresources / .Xdefaults

Have the .Xresources or.Xdefaults file, based on what your system reads when logging in to X11 session, or read it manually.

The file could look like this:

*font: -xos4-terminus-bold-r-normal--16-160-72-72-c-80-iso10646-1
*foreground: black
*background: #f5efe0
*internalBorder: 4

Load it:

$ xrdb -load ~/.Xdefaults

And restart cocowm.

Running

Running with 3 columns:

$ cocowm 3

See also

  • mxswm another window manager by the same author.
  • cocovt terminal emulator by the same author that is friends with cocowm.

cocowm's People

Contributors

tleino avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

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.