Skip to content

Instantly share code, notes, and snippets.

@dianjuar
Last active June 26, 2026 12:39
Show Gist options
  • Select an option

  • Save dianjuar/ee774561a8bc02b077989bc17424a19f to your computer and use it in GitHub Desktop.

Select an option

Save dianjuar/ee774561a8bc02b077989bc17424a19f to your computer and use it in GitHub Desktop.
My i3 shortcuts to take screenshots

Requirements

  • maim
  • xclip

Set-up

Set this on your i3 config file ~/.i3/config

# Screenshots
bindsym Print exec --no-startup-id maim "/home/$USER/Pictures/$(date)"
bindsym $mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) "/home/$USER/Pictures/$(date)"
bindsym Shift+Print exec --no-startup-id maim --select "/home/$USER/Pictures/$(date)"

## Clipboard Screenshots
bindsym Ctrl+Print exec --no-startup-id maim | xclip -selection clipboard -t image/png
bindsym Ctrl+$mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) | xclip -selection clipboard -t image/png
bindsym Ctrl+Shift+Print exec --no-startup-id maim --select | xclip -selection clipboard -t image/png

You may remove the default screenshot shortcuts to prevent error

What it does

Feature Shortcut
Full Screen PrtScrn
Selection Shift + PrtScrn
Active Window Super + PrtScrn
Clipboard Full Screen Ctrl + PrtScrn
Clipboard Selection Ctrl + Shift + PrtScrn
Clipboard Active Window Ctrl + Super + PrtScrn

All the screen shots are saved on ~/Pictures/CURRENT_DATE

super key is the windows key

@osxxii

osxxii commented May 15, 2022

Copy link
Copy Markdown

Thank you so much!!! Helped alot :-)

@aloisdg

aloisdg commented May 18, 2022

Copy link
Copy Markdown

Thank you :)

@yebt

yebt commented May 20, 2022

Copy link
Copy Markdown

Nice bro, thanks

@ValeriyDP

Copy link
Copy Markdown

Hey it normal screenshots (not the clipboard ones) don't seem to be working for me. Or at least they don't properly save to /home/$USER/Pictures/, it just doesn't create the file. I was wondering if there was something wrong with the variables so I replaced them with a normal path without variables, eg: /home/noa/Pictures/test1 but it still didn't create single screenshot file

the same issue...
I'm using ubuntu

@Yolo390

Yolo390 commented Aug 5, 2022

Copy link
Copy Markdown

Hey it normal screenshots (not the clipboard ones) don't seem to be working for me. Or at least they don't properly save to /home/$USER/Pictures/, it just doesn't create the file. I was wondering if there was something wrong with the variables so I replaced them with a normal path without variables, eg: /home/noa/Pictures/test1 but it still didn't create single screenshot file

the same issue... I'm using ubuntu

Seems not working with Ubuntu 22.04 for me too

@mangelozzi

mangelozzi commented Aug 7, 2022

Copy link
Copy Markdown

I think this is a better file name (with extension and ordered dates):
exec --no-startup-id maim "/$HOME/Pictures/screenshot_$(date +'%Y-%m-%d_%H:%M:%S').png"

EDIT: @eivindbergem thanks for the $HOME tip

@eivindbergem

Copy link
Copy Markdown

The home directory might not be /home/$USER. It's better to use $HOME.

@PaulJ505

Copy link
Copy Markdown

It's great. Thank you.

@mdxaasil

mdxaasil commented Jun 3, 2023

Copy link
Copy Markdown

Super thanks bro!

@Zaahed

Zaahed commented Aug 31, 2023

Copy link
Copy Markdown

Thanks!

@gitTov

gitTov commented Nov 1, 2023

Copy link
Copy Markdown

Ubuntu 22.04

bindsym $mod+Print exec --no-startup-id maim --window $(xdotool getactivewindow) "/home/$USER/Pictures/screenshots/$(date)"

The above line was causing a duplication error, although that didn't seem obvious at first. Changing $mod to Mod1 dealt with the error, however the command does not capture the active window. I can live it with it for now, as I really just wanted the select feature. So if anything, this comment is more of just a "fyi".

@mrlary

mrlary commented Nov 16, 2023

Copy link
Copy Markdown

Thanks bro

@shukurillo0516

Copy link
Copy Markdown

Thanks!

@varo6

varo6 commented Sep 14, 2024

Copy link
Copy Markdown

Thank you so much. Working great, if someone has a blur error when selection on maim, just add -o to the command:

bindsym Shift+Print exec --no-startup-id maim --select "/home/$USER/Pictures/$(date)"

@Jandro20

Copy link
Copy Markdown

Thanks you so much! A little point here, you will need to install xdotool to execute selection options.

@MarkoKolarevic

Copy link
Copy Markdown

I love you! <3 <3 <3

@eriirawan

Copy link
Copy Markdown

Thank you for your sharing. Simple setup and working great.

@alva-v

alva-v commented May 19, 2026

Copy link
Copy Markdown

Awesome, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment