diff --git a/i3/config b/i3/config index b41527c..ee92f85 100644 --- a/i3/config +++ b/i3/config @@ -9,11 +9,13 @@ # # Please see https://i3wm.org/docs/userguide.html for a complete reference! +# Mod4 = Super/Windows, Mod1 = ALT set $mod Mod4 +#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. -font pango:monospace 8 +#font pango:monospace 8 # This font is widely installed, provides lots of unicode glyphs, right-to-left # text rendering and scalability on retina/hidpi displays (thanks to pango). @@ -44,10 +46,6 @@ bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOU # Use Mouse+$mod to drag floating windows to their wanted position floating_modifier $mod -# move tiling windows via drag & drop by left-clicking into the title bar, -# or left-clicking anywhere into the window while holding the floating modifier. -tiling_drag modifier titlebar - # start a terminal bindsym $mod+Return exec i3-sensible-terminal @@ -55,9 +53,9 @@ bindsym $mod+Return exec i3-sensible-terminal bindsym $mod+Shift+q kill # start dmenu (a program launcher) -bindsym $mod+d exec --no-startup-id dmenu_run +#bindsym $mod+d exec --no-startup-id dmenu_run # A more modern dmenu replacement is rofi: -# bindcode $mod+40 exec "rofi -modi drun,run -show drun" +bindcode $mod+40 exec "rofi -show combi" # There also is i3-dmenu-desktop which only displays applications shipping a # .desktop file. It is a wrapper around dmenu, so you need that installed. # bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop @@ -96,9 +94,9 @@ bindsym $mod+v split v bindsym $mod+f fullscreen toggle # change container layout (stacked, tabbed, toggle split) -bindsym $mod+s layout stacking -bindsym $mod+w layout tabbed -bindsym $mod+e layout toggle split +#bindsym $mod+s layout stacking +#bindsym $mod+w layout tabbed +#bindsym $mod+e layout toggle split # toggle tiling / floating bindsym $mod+Shift+space floating toggle @@ -154,7 +152,7 @@ bindsym $mod+Shift+c reload # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) bindsym $mod+Shift+r restart # exit i3 (logs you out of your X session) -bindsym $mod+Shift+e 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'" +bindsym $mod+Shift+e exec "i3-msg exit" # resize window (you can also use the mouse for that) mode "resize" { @@ -183,8 +181,49 @@ mode "resize" { bindsym $mod+r mode "resize" -# Start i3bar to display a workspace bar (plus the system information i3status -# finds out, if available) +font pango:fira code 12 + +# ------------------------- COLORS ------------------------- +set $fg-color #fdfff1 +set $bg-color #272821 +set $contrast-color #3b3c35 +set $red-color #f82570 +set $green-color #a6e12d +set $yellow-color #e4db73 +set $orange-color #fc961f +set $purple-color #ae81ff + +# class border backgr. text indicator child_border +client.focused $contrast-color $bg-color $yellow-color $contrast-color $contrast-color +client.focused_inactive $bg-color $bg-color $yellow-color $bg-color $bg-color +client.unfocused $bg-color $bg-color $contrast-color $bg-color $bg-color +client.urgent $red-color $bg-color $red-color $red-color $red-color +client.placeholder $bg-color $bg-color $yellow-color $bg-color $bg-color +client.background $fg-color + bar { status_command i3status + position top + tray_output primary + + colors { + background $bg-color + statusline $fg-color + separator $fg-color + } } + +exec --no-startup-id xsetroot -solid "#272822" +#exec --no-startup-id xfce4-power-manager +#exec --no-startup-id blueman-applet +exec --no-startup-id dunst +exec --no-startup-id pasystray +#exec --no-startup-id nextcloud +exec --no-startup-id bitwarden +exec --no-startup-id steam -silent +#exec --no-startup-id obs --startreplaybuffer +exec --no-startup-id discord + +bindsym --release Print exec "aika=$(date +%s);paiva=$(date +%y-%m-%d);kansio=~/Kuvat/scrot;mkdir -p $kansio;filu=$kansio/kuvakaappaus$aika.png;import $filu;xclip -selection clipboard -t image/png -i $filu" +bindsym --release Mod4+Print exec "aika=$(date +%s);paiva=$(date +%y-%m-%d);kansio=~/Kuvat/scrot;mkdir -p $kansio;filu=$kansio/kuvakaappaus$aika.png;import -window root $filu;xclip -selection clipboard -t image/png -i $filu" +bindsym --release Mod1+Sys_Req exec "winid=$(xwininfo | awk '{print $4}' | grep -i 0x);aika=$(date +%s);paiva=$(date +%y-%m-%d);kansio=~/Kuvat/scrot;mkdir -p $kansio;filu=$kansio/kuvakaappaus$aika.png;import -window $winid $filu;xclip -selection clipboard -t image/png -i $filu" diff --git a/nixos/desktop/configuration.nix b/nixos/desktop/configuration.nix index e118eef..4267252 100644 --- a/nixos/desktop/configuration.nix +++ b/nixos/desktop/configuration.nix @@ -82,7 +82,16 @@ enable = true; layout = "fi"; xkbVariant = "nodeadkeys"; - libinput.enable = true; + libinput = { + enable = true; + mouse = { + accelProfile = "flat"; + accelSpeed = ".5"; # -1..1 + }; + touchpad = { + accelProfile = "flat"; + }; + }; deviceSection = '' Option "VariableRefresh" "True" ''; @@ -90,6 +99,21 @@ lightdm.enable = true; autoLogin.enable = true; autoLogin.user = "jt"; + defaultSession = "none+i3"; + }; + windowManager = { + i3 = { + enable = true; + extraPackages = with pkgs; [ + dmenu + rofi + dunst + imagemagick + xclip + i3status + i3lock + ]; + }; }; desktopManager = { xterm.enable = false; @@ -156,9 +180,6 @@ programs.htop.enable = true; programs.tmux.enable = true; - # Enable touchpad support (enabled default in most desktopManager). - #services.xserver.libinput.enable = true; - nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ diff --git a/rofi/themes/Monokai.rasi b/rofi/themes/Monokai.rasi index 201b593..613d4d0 100644 --- a/rofi/themes/Monokai.rasi +++ b/rofi/themes/Monokai.rasi @@ -35,24 +35,24 @@ active-background: rgba ( 39, 40, 34, 0 % ); selected-active-background: rgba ( 20, 20, 17, 100 % ); } -#window { +window { background-color: @background; border: 1; padding: 5; } -#mainbox { +mainbox { border: 0; padding: 0; } -#message { +message { border: 2px 0px 0px ; border-color: @separatorcolor; padding: 1px ; } -#textbox { +textbox { text-color: @foreground; } -#listview { +listview { fixed-height: 0; border: 2px 0px 0px ; border-color: @separatorcolor; @@ -60,81 +60,85 @@ scrollbar: true; padding: 2px 0px 0px ; } -#element { +element { border: 0; padding: 1px ; } -#element.normal.normal { +element-text { + background-color: inherit; + text-color: inherit; +} +element.normal.normal { background-color: @normal-background; text-color: @normal-foreground; } -#element.normal.urgent { +element.normal.urgent { background-color: @urgent-background; text-color: @urgent-foreground; } -#element.normal.active { +element.normal.active { background-color: @active-background; text-color: @active-foreground; } -#element.selected.normal { +element.selected.normal { background-color: @selected-normal-background; text-color: @selected-normal-foreground; } -#element.selected.urgent { +element.selected.urgent { background-color: @selected-urgent-background; text-color: @selected-urgent-foreground; } -#element.selected.active { +element.selected.active { background-color: @selected-active-background; text-color: @selected-active-foreground; } -#element.alternate.normal { +element.alternate.normal { background-color: @alternate-normal-background; text-color: @alternate-normal-foreground; } -#element.alternate.urgent { +element.alternate.urgent { background-color: @alternate-urgent-background; text-color: @alternate-urgent-foreground; } -#element.alternate.active { +element.alternate.active { background-color: @alternate-active-background; text-color: @alternate-active-foreground; } -#scrollbar { +scrollbar { width: 4px ; border: 0; handle-width: 8px ; padding: 0; } -#mode-switcher { +mode-switcher { border: 2px 0px 0px ; border-color: @separatorcolor; } -#button.selected { +button.selected { background-color: @selected-normal-background; text-color: @selected-normal-foreground; } -#inputbar { +inputbar { spacing: 0; text-color: @normal-foreground; padding: 1px ; } -#case-indicator { +case-indicator { spacing: 0; text-color: @normal-foreground; } -#entry { +entry { spacing: 0; text-color: @normal-foreground; } -#prompt { +prompt { spacing: 0; text-color: @normal-foreground; } -#inputbar { +inputbar { children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; } -#textbox-prompt-colon { +textbox-prompt-colon { expand: false; str: ":"; margin: 0px 0.3em 0em 0em ;