Added i3 configuration.

This commit is contained in:
Felix Delattre 2023-03-04 12:37:36 +00:00
parent cb7ebc0438
commit fc3f317cc6
10 changed files with 813 additions and 0 deletions

View file

@ -0,0 +1,15 @@
#!/bin/bash
case "$1" in
increase)
CURRENT=`cat /sys/class/backlight/intel_backlight/brightness`
((FOO=CURRENT+500))
exec echo $FOO | tee /sys/class/backlight/intel_backlight/brightness
;;
decrease)
CURRENT=`cat /sys/class/backlight/intel_backlight/brightness`
((FOO=CURRENT-500))
exec echo $FOO | tee /sys/class/backlight/intel_backlight/brightness
;;
esac
exit 0

View file

@ -0,0 +1,31 @@
#!/bin/sh
lock() {
i3lock
}
case "$1" in
lock)
#i3lock -n -i ~/Pictures/wallpapers/wallpaper_big.png -c 000000 -f
sh ~/.config/i3/bin/lock.sh
;;
logout)
i3-msg exit
;;
suspend)
~/.config/i3/bin/exit.sh lock && systemctl suspend
;;
hibernate)
~/.config/i3/bin/exit.sh lock && systemctl hibernate
;;
reboot)
systemctl reboot
;;
shutdown)
systemctl poweroff
;;
*)
echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}"
exit 2
esac
exit 0

View file

@ -0,0 +1,165 @@
# WARNING
# WARNING: This configuration file is a template for the i3-config-wizard to
# WARNING: generate a config which uses keysyms in your current layout. It does
# WARNING: not get loaded by i3. Please do not change it.
# WARNING
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal in the domain of the currently active window
bindcode $mod+36 exec qubes-i3-sensible-terminal
# kill focused window
bindcode $mod+Shift+24 kill
# start dmenu (a program launcher)
bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop --dmenu="dmenu -nb #d2d2d2 -nf #000000 -sb #63a0ff"
# change focus
bindcode $mod+44 focus left
bindcode $mod+45 focus down
bindcode $mod+46 focus up
bindcode $mod+47 focus right
# alternatively, you can use the cursor keys:
bindcode $mod+113 focus left
bindcode $mod+116 focus down
bindcode $mod+111 focus up
bindcode $mod+114 focus right
# move focused window
bindcode $mod+Shift+44 move left
bindcode $mod+Shift+45 move down
bindcode $mod+Shift+46 move up
bindcode $mod+Shift+47 move right
# alternatively, you can use the cursor keys:
bindcode $mod+Shift+113 move left
bindcode $mod+Shift+116 move down
bindcode $mod+Shift+111 move up
bindcode $mod+Shift+114 move right
# split in horizontal orientation
bindcode $mod+43 split h
# split in vertical orientation
bindcode $mod+55 split v
# enter fullscreen mode for the focused container
bindcode $mod+41 fullscreen
# change container layout (stacked, tabbed, toggle split)
bindcode $mod+39 layout stacking
bindcode $mod+25 layout tabbed
bindcode $mod+26 layout toggle split
# toggle tiling / floating
bindcode $mod+Shift+65 floating toggle
# change focus between tiling / floating windows
bindcode $mod+65 focus mode_toggle
# focus the parent container
bindcode $mod+38 focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindcode $mod+10 workspace 1
bindcode $mod+11 workspace 2
bindcode $mod+12 workspace 3
bindcode $mod+13 workspace 4
bindcode $mod+14 workspace 5
bindcode $mod+15 workspace 6
bindcode $mod+16 workspace 7
bindcode $mod+17 workspace 8
bindcode $mod+18 workspace 9
bindcode $mod+19 workspace 10
# move focused container to workspace
bindcode $mod+Shift+10 move container to workspace 1
bindcode $mod+Shift+11 move container to workspace 2
bindcode $mod+Shift+12 move container to workspace 3
bindcode $mod+Shift+13 move container to workspace 4
bindcode $mod+Shift+14 move container to workspace 5
bindcode $mod+Shift+15 move container to workspace 6
bindcode $mod+Shift+16 move container to workspace 7
bindcode $mod+Shift+17 move container to workspace 8
bindcode $mod+Shift+18 move container to workspace 9
bindcode $mod+Shift+19 move container to workspace 10
# reload the configuration file
bindcode $mod+Shift+54 reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindcode $mod+Shift+27 restart
# exit i3 (logs you out of your X session)
bindcode $mod+Shift+26 exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindcode 44 resize shrink width 10 px or 10 ppt
bindcode 45 resize grow height 10 px or 10 ppt
bindcode 46 resize shrink height 10 px or 10 ppt
bindcode 47 resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindcode 113 resize shrink width 10 px or 10 ppt
bindcode 116 resize grow height 10 px or 10 ppt
bindcode 111 resize shrink height 10 px or 10 ppt
bindcode 114 resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindcode 36 mode "default"
bindcode 9 mode "default"
}
bindcode $mod+27 mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command qubes-i3status
colors {
background #d2d2d2
statusline #00000
#class #border #backgr #text
focused_workspace #4c7899 #63a0ff #000000
active_workspace #333333 #5f676a #ffffff
inactive_workspace #222222 #333333 #888888
urgent_workspace #BD2727 #E79E27 #000000
}
}
# Use a screen locker
exec --no-startup-id "xautolock -detectsleep -time 3 -locker 'i3lock -d -c 000000' -notify 30 -notifier \"notify-send -t 2000 'Locking screen in 30 seconds'\""
# Make sure all xdg autostart entries are started, this is (among other things)
# necessary to make sure transient vm's come up
exec --no-startup-id qubes-i3-xdg-autostart

View file

@ -0,0 +1,61 @@
#!/usr/bin/perl
use strict;
use warnings;
use utf8;
my $acpi;
my $status;
my $percent;
my $full_text;
my $short_text;
my $bat_number = $ENV{BLOCK_INSTANCE} || 0;
# read the first line of the "acpi" command output
open (ACPI, "acpi -b | grep 'Battery $bat_number' |") or die;
$acpi = <ACPI>;
close(ACPI);
# fail on unexpected output
if ($acpi !~ /: (\w+), (\d+)%/) {
die "$acpi\n";
}
$status = $1;
$percent = $2;
$full_text = "";
if ($status eq 'Discharging') {
$full_text .= "⚡ $percent%";
if ($acpi =~ /(\d\d:\d\d):/) {
$full_text .= " ($1)";
}
} elsif ($status eq 'Charging') {
$full_text .= " $percent%";
}
elsif ($status eq 'Unknown' || $status eq 'Full') {
$full_text .= "⚡ $percent%";
}
# print text
print "$full_text\n";
print "$short_text\n";
# consider color and urgent flag only on discharge
if ($status eq 'Discharging') {
if ($percent < 20) {
print "#FF0000\n";
} elsif ($percent < 40) {
print "#FFAE00\n";
} elsif ($percent < 60) {
print "#FFF600\n";
} elsif ($percent < 85) {
print "#A8FF00\n";
}
if ($percent < 5) {
exit(33);
}
}
exit(0);

View file

@ -0,0 +1,25 @@
#!/bin/bash
#
# Dependencies: imagemagick, i3lock
#
# A script that takes current screenshot and blurs it to be
# used with i3lock
#
# Copyright © 2016 Bharadwaj Machiraju <tunnelshade at gmail dot com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
scrot /tmp/screen_locked.png
convert /tmp/screen_locked.png -blur 20x20 /tmp/screen_locked2.png
i3lock -i /tmp/screen_locked2.png

View file

@ -0,0 +1,22 @@
!/bin/bash
case "$1" in
one)
i3-msg workspace "6: Use it!"; i3-msg move workspace to output LVDS-1
i3-msg workspace "7: Editor"; i3-msg move workspace to output LVDS-1
i3-msg workspace "8: Tor"; i3-msg move workspace to output LVDS-1
i3-msg workspace "9: Internet"; i3-msg move workspace to output LVDS-1
i3-msg workspace "10: Music"; i3-msg move workspace to output LVDS-1
i3-msg workspace "1: Terminals"
;;
two)
i3-msg workspace "6: Use it!"; i3-msg move workspace to output DP-1
i3-msg workspace "7: Editor"; i3-msg move workspace to output DP-1
i3-msg workspace "8: Tor"; i3-msg move workspace to output DP-1
i3-msg workspace "9: Internet"; i3-msg move workspace to output DP-1
i3-msg workspace "10: Music"; i3-msg move workspace to output DP-1
i3-msg workspace "1: Terminals"
;;
esac
exit 0

View file

@ -0,0 +1,5 @@
if synclient -l | grep "TouchpadOff .*=.*0" ; then
synclient TouchpadOff=1 ;
else
synclient TouchpadOff=0 ;
fi