Skip to content
This repository has been archived by the owner on Aug 19, 2024. It is now read-only.
/ picom Public archive
forked from yshui/picom

A lightweight compositor for X11

License

Notifications You must be signed in to change notification settings

Arian8j2/picom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Warning

Picom now has a rich animation system, use it instead. This fork doesn't get any updates but you can achieve a similar animation effect by using this configuration in vanilla Picom:

animations = (
  {
    triggers = [ "open" ];
    preset = "appear";
  },
  {
    triggers = [ "close" ];
    preset = "disappear";
  },
  {
    triggers = [ "geometry" ];
    offset-x = {
      curve = "cubic-bezier(0.17, 0.67, 0.68, 1.03)";
      end = 0;
      duration = "duration";
      start = "- offset";
    };
    shadow-offset-x = "offset-x";

    # Same as `transition-offset`
    offset = 100;
    # Duration of animation in seconds
    duration = 0.25;
  }
)

Why another Picom fork?

This fork add configurable transition animations to windows.

How works?

When window moves or get resized, it save new window geometry and then adds static offset (transition_offset) to it from direction that you specified (transition-direction) and calculate transition based on transition-timing-function and transition-step.

Demo

ezgif-5-dbf86ee80e

  • transition: enable transition (bool)
  • transition-step: time between frames in transition. (float)
  • transition-offset: offset that gives to window to start transitioning from there (int)
  • transition-direction: direction of transition like top, bottom, left, ... (use none for no transition) (string)
  • transition-timing-function: function that used to calculate transition timing, see easings.net website for list of supported functions, naming convensions are diffrent in that site tho, e.g easeOutExpo is ease-out-expo here. (string)
  • transition-rule (similar to opacity rule but it changes transition direction) (list)

more info about each config in picom.sample.conf.

Build and Install

You can build and install from AUR or use an AUR helper like yay to simplify the process:

yay -S picom-arian8j2-git

checkout official picom to manually build and install from source.

About

A lightweight compositor for X11

Resources

License

Stars

Watchers

Forks

Languages

  • C 94.8%
  • Python 2.5%
  • Shell 1.8%
  • Other 0.9%