commit 133619b23077e0ef0f28ee30207b178d6abd9607 Author: Jesper Fussing Moerk Date: Fri Feb 9 14:18:35 2018 +0100 Initial stow commit diff --git a/dunst/.config/dunst/dunstrc b/dunst/.config/dunst/dunstrc new file mode 100644 index 0000000..94a25b5 --- /dev/null +++ b/dunst/.config/dunst/dunstrc @@ -0,0 +1,245 @@ +[global] + font = Roboto 10 + + # Allow a small subset of html markup: + # bold + # italic + # strikethrough + # underline + # + # For a complete reference see + # . + # If markup is not allowed, those tags will be stripped out of the + # message. + allow_markup = yes + + # The format of the message. Possible variables are: + # %a appname + # %s summary + # %b body + # %i iconname (including its path) + # %I iconname (without its path) + # %p progress value if set ([ 0%] to [100%]) or nothing + # Markup is allowed + format = "%s\n%b" + + # Sort messages by urgency. + sort = yes + + # Show how many messages are currently hidden (because of geometry). + indicate_hidden = yes + + # Alignment of message text. + # Possible values are "left", "center" and "right". + alignment = left + + # The frequency with wich text that is longer than the notification + # window allows bounces back and forth. + # This option conflicts with "word_wrap". + # Set to 0 to disable. + bounce_freq = 0 + + # Show age of message if message is older than show_age_threshold + # seconds. + # Set to -1 to disable. + show_age_threshold = 60 + + # Split notifications into multiple lines if they don't fit into + # geometry. + word_wrap = yes + + # Ignore newlines '\n' in notifications. + ignore_newline = no + + + # The geometry of the window: + # [{width}]x{height}[+/-{x}+/-{y}] + # The geometry of the message window. + # The height is measured in number of notifications everything else + # in pixels. If the width is omitted but the height is given + # ("-geometry x2"), the message window expands over the whole screen + # (dmenu-like). If width is 0, the window expands to the longest + # message displayed. A positive x is measured from the left, a + # negative from the right side of the screen. Y is measured from + # the top and down respectevly. + # The width can be negative. In this case the actual width is the + # screen width minus the width defined in within the geometry option. + geometry = "400x10-5+35" + + # Shrink window if it's smaller than the width. Will be ignored if + # width is 0. + shrink = no + + # The transparency of the window. Range: [0; 100]. + # This option will only work if a compositing windowmanager is + # present (e.g. xcompmgr, compiz, etc.). + transparency = 0 + + # Don't remove messages, if the user is idle (no mouse or keyboard input) + # for longer than idle_threshold seconds. + # Set to 0 to disable. + idle_threshold = 120 + + # Which monitor should the notifications be displayed on. + #monitor = 0 + + # Display notification on focused monitor. Possible modes are: + # mouse: follow mouse pointer + # keyboard: follow window with keyboard focus + # none: don't follow anything + # + # "keyboard" needs a windowmanager that exports the + # _NET_ACTIVE_WINDOW property. + # This should be the case for almost all modern windowmanagers. + # + # If this option is set to mouse or keyboard, the monitor option + # will be ignored. + follow = mouse + + # Should a notification popped up from history be sticky or timeout + # as if it would normally do. + sticky_history = yes + + # Maximum amount of notifications kept in history + history_length = 20 + + # Display indicators for URLs (U) and actions (A). + show_indicators = yes + + # The height of a single line. If the height is smaller than the + # font height, it will get raised to the font height. + # This adds empty space above and under the text. + line_height = 0 + + # Draw a line of "separatpr_height" pixel height between two + # notifications. + # Set to 0 to disable. + separator_height = 2 + + # Padding between text and separator. + padding = 8 + + # Horizontal padding. + horizontal_padding = 8 + + # Define a color for the separator. + # possible values are: + # * auto: dunst tries to find a color fitting to the background; + # * foreground: use the same color as the foreground; + # * frame: use the same color as the frame; + # * anything else will be interpreted as a X color. + separator_color = frame + + # Print a notification on startup. + # This is mainly for error detection, since dbus (re-)starts dunst + # automatically after a crash. + startup_notification = false + + # dmenu path. + dmenu = /usr/bin/dmenu -p dunst: + + # Browser for opening urls in context menu. + browser = /usr/bin/firefox -new-tab + + # Align icons left/right/off + icon_position = off + + # Paths to default icons. + icon_folders = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/ + +[frame] + width = 2 + color = "#26C6DA" + +[shortcuts] + + # Shortcuts are specified as [modifier+][modifier+]...key + # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2", + # "mod3" and "mod4" (windows-key). + # Xev might be helpful to find names for keys. + + # Close notification. + close = ctrl+space + + # Close all notifications. + close_all = ctrl+shift+space + + # Redisplay last message(s). + # On the US keyboard layout "grave" is normally above TAB and left + # of "1". + history = ctrl+grave + + # Context menu. + context = ctrl+shift+period + +[urgency_low] + # IMPORTANT: colors have to be defined in quotation marks. + # Otherwise the "#" and following would be interpreted as a comment. + background = "#26C6DA" + foreground = "#424242" + timeout = 10 + +[urgency_normal] + background = "#26C6DA" + foreground = "#424242" + timeout = 10 + +[urgency_critical] + background = "#26C6DA" + foreground = "#424242" + timeout = 0 + + +# Every section that isn't one of the above is interpreted as a rules to +# override settings for certain messages. +# Messages can be matched by "appname", "summary", "body", "icon", "category", +# "msg_urgency" and you can override the "timeout", "urgency", "foreground", +# "background", "new_icon" and "format". +# Shell-like globbing will get expanded. +# +# SCRIPTING +# You can specify a script that gets run when the rule matches by +# setting the "script" option. +# The script will be called as follows: +# script appname summary body icon urgency +# where urgency can be "LOW", "NORMAL" or "CRITICAL". +# +# NOTE: if you don't want a notification to be displayed, set the format +# to "". +# NOTE: It might be helpful to run dunst -print in a terminal in order +# to find fitting options for rules. + +#[espeak] +# summary = "*" +# script = dunst_espeak.sh + +#[script-test] +# summary = "*script*" +# script = dunst_test.sh + +#[ignore] +# # This notification will not be displayed +# summary = "foobar" +# format = "" + +#[signed_on] +# appname = Pidgin +# summary = "*signed on*" +# urgency = low +# +#[signed_off] +# appname = Pidgin +# summary = *signed off* +# urgency = low +# +#[says] +# appname = Pidgin +# summary = *says* +# urgency = critical +# +#[twitter] +# appname = Pidgin +# summary = *twitter.com* +# urgency = normal +# +# vim: ft=cfg diff --git a/i3/.config/i3/README.md b/i3/.config/i3/README.md new file mode 100644 index 0000000..08611c9 --- /dev/null +++ b/i3/.config/i3/README.md @@ -0,0 +1,40 @@ +# i3 Dotfiles +This is my configuration of the i3-gaps windows manager. + +# Multimonitor support +I have implemented a manual switching mechanism so that I can switch configuration depending on I'm at work, at home or just the laptop + +# Components +* [i3-gaps](https://github.com/Airblader/i3) +* [Polybar](https://github.com/jaagr/polybar) +* [i3lock-fancy](https://github.com/guimeira/i3lock-fancy-multimonitor) +* [Rofi](https://github.com/DaveDavenport/rofi) +* [Dunst](https://github.com/dunst-project/dunst) +* [Gnome Terminal](https://github.com/GNOME/gnome-terminal) + +# Themes +GTK: [Materia-dark](https://github.com/nana-4/materia-theme) +Icons: [Papirus](https://github.com/PapirusDevelopmentTeam/papirus-icon-theme) + +Defined in ~/.config/gtk-3.0/settings.ini or by lxappearance application. + +## Colors +Backgrounds: #263238 + +### Polybar +Focused Foreground: #009688 +Unfocused Foreground: #BDBDBD +Urgent Foreground: #BF360C + +# Other Settings +## Gnome Terminal +Padding in the gnome terminals is done by adding: +~~~ +vte-terminal { + padding: 10px; +} +~~~ +in ~/.config/gtk-3.0/gtk.css + +### Shell +I use ZSH with the latest Spaceship prompt diff --git a/i3/.config/i3/config b/i3/.config/i3/config new file mode 100644 index 0000000..eb95e72 --- /dev/null +++ b/i3/.config/i3/config @@ -0,0 +1,189 @@ +# This file has been auto-generated by i3-config-wizard(1). +# It will not be overwritten, so edit it as you like. +# +# Should you change your keyboard layout some time, delete +# this file and re-run i3-config-wizard(1). +# + +# i3 config file (v4) +# +# Please see https://i3wm.org/docs/userguide.html for a complete reference! + +set $mod Mod4 + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec gnome-terminal + +# kill focused window +bindsym $mod+Shift+q kill + +# change focus +bindsym $mod+j focus left +bindsym $mod+k focus down +bindsym $mod+l focus up +bindsym $mod+ae focus right + +# alternatively, you can use the cursor keys: +bindsym $mod+Left focus left +bindsym $mod+Down focus down +bindsym $mod+Up focus up +bindsym $mod+Right focus right + +# move focused window +bindsym $mod+Shift+j move left +bindsym $mod+Shift+k move down +bindsym $mod+Shift+l move up +bindsym $mod+Shift+ae move right + +# alternatively, you can use the cursor keys: +bindsym $mod+Shift+Left move left +bindsym $mod+Shift+Down move down +bindsym $mod+Shift+Up move up +bindsym $mod+Shift+Right move right + +# split in horizontal orientation +bindsym $mod+h split h + +# split in vertical orientation +bindsym $mod+v split v + +# enter fullscreen mode for the focused container +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 + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# focus the child container +#bindsym $mod+d focus child + +# switch to workspace +bindsym $mod+1 workspace "1: Comms" +bindsym $mod+2 workspace "2: Web" +bindsym $mod+3 workspace "3: IDE" +bindsym $mod+4 workspace "4: Work" +bindsym $mod+5 workspace "5: Media" +bindsym $mod+6 workspace "6: REST" +bindsym $mod+7 workspace 7 +bindsym $mod+8 workspace 8 +bindsym $mod+9 workspace 9 +bindsym $mod+0 workspace 10 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace 1 +bindsym $mod+Shift+2 move container to workspace 2 +bindsym $mod+Shift+3 move container to workspace 3 +bindsym $mod+Shift+4 move container to workspace 4 +bindsym $mod+Shift+5 move container to workspace 5 +bindsym $mod+Shift+6 move container to workspace 6 +bindsym $mod+Shift+7 move container to workspace 7 +bindsym $mod+Shift+8 move container to workspace 8 +bindsym $mod+Shift+9 move container to workspace 9 +bindsym $mod+Shift+0 move container to workspace 10 + +# reload the configuration file +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'" + +# 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 window’s width. + # Pressing right will grow the window’s width. + # Pressing up will shrink the window’s height. + # Pressing down will grow the window’s height. + bindsym j resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym l resize shrink height 10 px or 10 ppt + bindsym ae resize grow width 10 px or 10 ppt + + # same bindings, but for the arrow keys + bindsym Left resize shrink width 10 px or 10 ppt + bindsym Down resize grow height 10 px or 10 ppt + bindsym Up resize shrink height 10 px or 10 ppt + bindsym Right resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} + +bindsym $mod+r mode "resize" + + +###################### +### My Mods +#Windows +new_window 1pixel +gaps inner 10 +gaps outer 5 + +#Gnome Sessions +#exec --no-startup-id gnome-session +#exec --no-startup-id /usr/libexec/gsd-sound + +#Applets +#exec --no-startup-id nm-applet +#exec --no-startup-id pasystray + +###Displaymode +set $displayMode "Set display mode [w]ork [l]aptop [h]ome" +mode $displayMode { + bindsym w exec "~/.config/i3/scripts/work-monitors.sh"; \ + exec "~/.config/i3/scripts/work-layout.sh"; \ + mode "default" + bindsym h exec "~/.config/i3/scripts/home-monitors.sh"; \ + exec "~/.config/i3/scripts/home-layout.sh"; \ + mode "default" + bindsym l exec "~/.config/i3/scripts/laptop-monitors.sh"; \ + exec "~/.config/i3/scripts/laptop-layout.sh"; \ + mode "default" + + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+x mode $displayMode + +### Pause +set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown +mode "$mode_system" { + bindsym l exec --no-startup-id ~/.config/i3/scripts/i3exit lock, mode "default" + bindsym e exec --no-startup-id ~/.config/i3/scripts/i3exit logout, mode "default" + bindsym s exec --no-startup-id ~/.config/i3/scripts/i3exit suspend, mode "default" + bindsym h exec --no-startup-id ~/.config/i3/scripts/i3exit hibernate, mode "default" + bindsym r exec --no-startup-id ~/.config/i3/scripts/i3exit reboot, mode "default" + bindsym Shift+s exec --no-startup-id ~/.config/i3/scripts/i3exit shutdown, mode "default" + + # back to normal: Enter or Escape + bindsym Return mode "default" + bindsym Escape mode "default" +} +bindsym $mod+Delete mode "$mode_system" + + +### Rofi +bindsym $mod+d exec --no-startup-id rofi -show drun -config ~/.config/i3/rofi/config + +#Bars +exec --no-startup-id ~/.config/i3/polybar/polybar.sh +exec --no-startup-id ~/.config/i3/scripts/applets.sh + +#Music +exec --no-startup-id ~/.config/i3/scripts/music.sh diff --git a/i3/.config/i3/i3lock/LICENSE b/i3/.config/i3/i3lock/LICENSE new file mode 100644 index 0000000..ff87a9e --- /dev/null +++ b/i3/.config/i3/i3lock/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 Gui Meira + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/i3/.config/i3/i3lock/README.md b/i3/.config/i3/i3lock/README.md new file mode 100644 index 0000000..aabc9ee --- /dev/null +++ b/i3/.config/i3/i3lock/README.md @@ -0,0 +1,37 @@ +# i3lock-fancy-multimonitor +The idea for this project was shamelessly copied from [meskarune](https://github.com/meskarune)'s [i3lock-fancy](https://github.com/meskarune/i3lock-fancy). + +It uses [scrot](http://freecode.com/projects/scrot) to take a screenshot of the desktop, then [ImageMagick](http://www.imagemagick.org/) blurs the image and adds a lock icon and text. + +By using information from [xrandr](http://www.x.org/wiki/Projects/XRandR/) and basic math, this script supports multiple monitor setups, displaying the icon and text centered on all screens. + +The lock icon is different from the original project, with a transparent black circle around it. The text is also an image, making it easier to customize (and to put it at the correct position). Finally, it uses vanilla [i3lock](https://github.com/i3/i3lock) instead of [i3lock-color](https://github.com/eBrnd/i3lock-color). The author of i3lock-color [is not maintaining it anymore](https://github.com/eBrnd/i3lock-color/issues/6). If you want to customize the colors of i3lock, the recommended version of i3lock-color is [this one](https://github.com/Arcaena/i3lock-color), maintained by [Chris Guillott](https://github.com/Arcaena). + +## Installation +Make sure you have all the dependencies: + +``` +sudo apt-get install scrot imagemagick i3lock +``` + +Copy the `lock` script along with the images to some place on your system (e.g.: the i3 folder) and give it execution permission: + +``` +git clone https://github.com/guimeira/i3lock-fancy-multimonitor.git +cp -r i3lock-fancy-multimonitor ~/.i3 +chmod +x ~/.i3/i3lock-fancy-multimonitor/lock +``` + +Create a key binding on your i3 config file (in this example I'm using $mod+p): + +``` +echo "bindsym \$mod+p exec /home//.i3/i3lock-fancy-multimonitor/lock" >> ~/.i3/config +``` + +Now reload the i3 configuration file. By default, the key binding is `$mod+Shift+c`. + +## Command line parameters + +`-n` or `--no-text`: hide the "Type password to unlock" text. + +`-p` or `--pixelate`: pixelate the background instead of blurring it. Might be faster. diff --git a/i3/.config/i3/i3lock/lock b/i3/.config/i3/i3lock/lock new file mode 100755 index 0000000..1260f26 --- /dev/null +++ b/i3/.config/i3/i3lock/lock @@ -0,0 +1,97 @@ +#!/bin/bash + +# Defaults +# All options are here: http://www.imagemagick.org/Usage/blur/#blur_args +BLURTYPE="0x6" +#BLURTYPE="0x2" +#BLURTYPE="5x3" +#BLURTYPE="2x8" +#BLURTYPE="2x3" + +DISPLAY_RE="([0-9]+)x([0-9]+)\\+([0-9]+)\\+([0-9]+)" +IMAGE_RE="([0-9]+)x([0-9]+)" +FOLDER="$(dirname "$(readlink -f "$0")")" +LOCK="$FOLDER/lock.png" +TEXT="$FOLDER/text.png" +PARAMS="" +OUTPUT_IMAGE="/tmp/i3lock.png" +DISPLAY_TEXT=true +PIXELATE=false + +# Read user input +POSITIONAL=() +while [[ $# -gt 0 ]] +do + key="$1" + + case $key in + -n|--no-text) + DISPLAY_TEXT=false + shift # past argument + ;; + -p|--pixelate) + PIXELATE=true + shift # past argument + ;; + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; + esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +#Take screenshot: +scrot -z $OUTPUT_IMAGE + +#Get dimensions of the lock image: +LOCK_IMAGE_INFO=`identify $LOCK` +[[ $LOCK_IMAGE_INFO =~ $IMAGE_RE ]] +IMAGE_WIDTH=${BASH_REMATCH[1]} +IMAGE_HEIGHT=${BASH_REMATCH[2]} + +if $DISPLAY_TEXT ; then + #Get dimensions of the text image: + TEXT_IMAGE_INFO=`identify $TEXT` + [[ $TEXT_IMAGE_INFO =~ $IMAGE_RE ]] + TEXT_WIDTH=${BASH_REMATCH[1]} + TEXT_HEIGHT=${BASH_REMATCH[2]} +fi + +#Execute xrandr to get information about the monitors: +while read LINE +do + #If we are reading the line that contains the position information: + if [[ $LINE =~ $DISPLAY_RE ]]; then + #Extract information and append some parameters to the ones that will be given to ImageMagick: + WIDTH=${BASH_REMATCH[1]} + HEIGHT=${BASH_REMATCH[2]} + X=${BASH_REMATCH[3]} + Y=${BASH_REMATCH[4]} + POS_X=$(($X+$WIDTH/2-$IMAGE_WIDTH/2)) + POS_Y=$(($Y+$HEIGHT/2-$IMAGE_HEIGHT/2)) + + PARAMS="$PARAMS '$LOCK' '-geometry' '+$POS_X+$POS_Y' '-composite'" + + if $DISPLAY_TEXT ; then + TEXT_X=$(($X+$WIDTH/2-$TEXT_WIDTH/2)) + TEXT_Y=$(($Y+$HEIGHT/2-$TEXT_HEIGHT/2+200)) + PARAMS="$PARAMS '$TEXT' '-geometry' '+$TEXT_X+$TEXT_Y' '-composite'" + fi + fi +done <<<"`xrandr`" + +#Execute ImageMagick: +if $PIXELATE ; then + PARAMS="'$OUTPUT_IMAGE' '-scale' '10%' '-scale' '1000%' $PARAMS '$OUTPUT_IMAGE'" +else + PARAMS="'$OUTPUT_IMAGE' '-level' '0%,100%,0.6' '-blur' '$BLURTYPE' $PARAMS '$OUTPUT_IMAGE'" +fi + +eval convert $PARAMS + +#Lock the screen: +i3lock -i $OUTPUT_IMAGE -t + +#Remove the generated image: +rm $OUTPUT_IMAGE diff --git a/i3/.config/i3/i3lock/lock.png b/i3/.config/i3/i3lock/lock.png new file mode 100644 index 0000000..620aa5b Binary files /dev/null and b/i3/.config/i3/i3lock/lock.png differ diff --git a/i3/.config/i3/i3lock/text.png b/i3/.config/i3/i3lock/text.png new file mode 100644 index 0000000..b1a4369 Binary files /dev/null and b/i3/.config/i3/i3lock/text.png differ diff --git a/i3/.config/i3/layouts/home-workspace1-comms.json b/i3/.config/i3/layouts/home-workspace1-comms.json new file mode 100644 index 0000000..b3b2753 --- /dev/null +++ b/i3/.config/i3/layouts/home-workspace1-comms.json @@ -0,0 +1,27 @@ +{ + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "WeeChat 1.9.1", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^weechat$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/home-workspace2-web.json b/i3/.config/i3/layouts/home-workspace2-web.json new file mode 100644 index 0000000..08a7451 --- /dev/null +++ b/i3/.config/i3/layouts/home-workspace2-web.json @@ -0,0 +1,22 @@ +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 1918, + "x": 1, + "y": 1 + }, + "name": "Google Chrome", + "percent": 1, + "swallows": [ + { + "class": "^Google\\-chrome\\-beta$", + "instance": "^google\\-chrome\\-beta$" + } + ], + "type": "con" +} + diff --git a/i3/.config/i3/layouts/home-workspace3-ide.json b/i3/.config/i3/layouts/home-workspace3-ide.json new file mode 100644 index 0000000..b02ab4a --- /dev/null +++ b/i3/.config/i3/layouts/home-workspace3-ide.json @@ -0,0 +1,14 @@ +{ + "border": "pixel", + "floating": "auto_off", + "layout": "stacked", + "percent": null, + "rect": { + "height": 480, + "width": 670, + "x": 944, + "y": 310 + }, + "type": "floating_con", + "nodes": [] +} diff --git a/i3/.config/i3/layouts/home-workspace4-work.json b/i3/.config/i3/layouts/home-workspace4-work.json new file mode 100644 index 0000000..c7e45bc --- /dev/null +++ b/i3/.config/i3/layouts/home-workspace4-work.json @@ -0,0 +1,75 @@ +{ + "layout": "splith", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 1918, + "x": 1920, + "y": 0 + }, + "name": "Shell 1", + "percent": 0.5, + "swallows": [ + { + "class": "^Sublime_text$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "jfm@moerks: ~", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^shell1$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "Shell 2", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^shell2$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/home-workspace5-media.json b/i3/.config/i3/layouts/home-workspace5-media.json new file mode 100644 index 0000000..4dfdadf --- /dev/null +++ b/i3/.config/i3/layouts/home-workspace5-media.json @@ -0,0 +1,76 @@ +{ + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "jfm@moerks: ~", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^TODO$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splith", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "newsbeuter", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^newsbeuter$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "ncmpcpp 0.8.1", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^music$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/laptop-workspace1-comms.json b/i3/.config/i3/layouts/laptop-workspace1-comms.json new file mode 100644 index 0000000..4b1327c --- /dev/null +++ b/i3/.config/i3/layouts/laptop-workspace1-comms.json @@ -0,0 +1,20 @@ +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "WeeChat 1.9.1", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^weechat$" + } + ], + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/laptop-workspace2-web.json b/i3/.config/i3/layouts/laptop-workspace2-web.json new file mode 100644 index 0000000..08a7451 --- /dev/null +++ b/i3/.config/i3/layouts/laptop-workspace2-web.json @@ -0,0 +1,22 @@ +// vim:ts=4:sw=4:et +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 1918, + "x": 1, + "y": 1 + }, + "name": "Google Chrome", + "percent": 1, + "swallows": [ + { + "class": "^Google\\-chrome\\-beta$", + "instance": "^google\\-chrome\\-beta$" + } + ], + "type": "con" +} + diff --git a/i3/.config/i3/layouts/laptop-workspace3-ide.json b/i3/.config/i3/layouts/laptop-workspace3-ide.json new file mode 100644 index 0000000..43e1a9f --- /dev/null +++ b/i3/.config/i3/layouts/laptop-workspace3-ide.json @@ -0,0 +1,15 @@ +{ + "border": "pixel", + "floating": "auto_off", + "layout": "stacked", + "percent": null, + "rect": { + "height": 480, + "width": 670, + "x": 944, + "y": 310 + }, + "type": "floating_con", + "nodes": [] +} + diff --git a/i3/.config/i3/layouts/laptop-workspace4-work.json b/i3/.config/i3/layouts/laptop-workspace4-work.json new file mode 100644 index 0000000..c7e45bc --- /dev/null +++ b/i3/.config/i3/layouts/laptop-workspace4-work.json @@ -0,0 +1,75 @@ +{ + "layout": "splith", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 1918, + "x": 1920, + "y": 0 + }, + "name": "Shell 1", + "percent": 0.5, + "swallows": [ + { + "class": "^Sublime_text$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "jfm@moerks: ~", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^shell1$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "Shell 2", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^shell2$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/laptop-workspace5-media.json b/i3/.config/i3/layouts/laptop-workspace5-media.json new file mode 100644 index 0000000..4dfdadf --- /dev/null +++ b/i3/.config/i3/layouts/laptop-workspace5-media.json @@ -0,0 +1,76 @@ +{ + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "jfm@moerks: ~", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^TODO$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splith", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "newsbeuter", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^newsbeuter$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "ncmpcpp 0.8.1", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^music$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/work-workspace1-comms.json b/i3/.config/i3/layouts/work-workspace1-comms.json new file mode 100644 index 0000000..dc775da --- /dev/null +++ b/i3/.config/i3/layouts/work-workspace1-comms.json @@ -0,0 +1,20 @@ +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 958, + "x": 1, + "y": 1 + }, + "name": "WeeChat", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^weechat$" + } + ], + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/work-workspace2-web.json b/i3/.config/i3/layouts/work-workspace2-web.json new file mode 100644 index 0000000..0f3f250 --- /dev/null +++ b/i3/.config/i3/layouts/work-workspace2-web.json @@ -0,0 +1,21 @@ +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 1918, + "x": 1, + "y": 1 + }, + "name": "Google Chrome", + "percent": 1, + "swallows": [ + { + "class": "^Google\\-chrome\\-beta$", + "instance": "^google\\-chrome\\-beta$" + } + ], + "type": "con" +} + diff --git a/i3/.config/i3/layouts/work-workspace3-ide.json b/i3/.config/i3/layouts/work-workspace3-ide.json new file mode 100644 index 0000000..b02ab4a --- /dev/null +++ b/i3/.config/i3/layouts/work-workspace3-ide.json @@ -0,0 +1,14 @@ +{ + "border": "pixel", + "floating": "auto_off", + "layout": "stacked", + "percent": null, + "rect": { + "height": 480, + "width": 670, + "x": 944, + "y": 310 + }, + "type": "floating_con", + "nodes": [] +} diff --git a/i3/.config/i3/layouts/work-workspace4-work.json b/i3/.config/i3/layouts/work-workspace4-work.json new file mode 100644 index 0000000..c7e45bc --- /dev/null +++ b/i3/.config/i3/layouts/work-workspace4-work.json @@ -0,0 +1,75 @@ +{ + "layout": "splith", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 1164, + "width": 1918, + "x": 1920, + "y": 0 + }, + "name": "Shell 1", + "percent": 0.5, + "swallows": [ + { + "class": "^Sublime_text$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "jfm@moerks: ~", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^shell1$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "Shell 2", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^shell2$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/work-workspace5-media.json b/i3/.config/i3/layouts/work-workspace5-media.json new file mode 100644 index 0000000..064f1db --- /dev/null +++ b/i3/.config/i3/layouts/work-workspace5-media.json @@ -0,0 +1,76 @@ +{ + "layout": "splitv", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "jfm@moerks: ~", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^tasks$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "floating": "auto_off", + "layout": "splith", + "nodes": [ + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "newsbeuter", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^newsbeuter$" + } + ], + "type": "con" + }, + { + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "ncmpcpp 0.8.1", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^music$" + } + ], + "type": "con" + } + ], + "percent": 0.5, + "type": "con" + } + ], + "percent": 0.5, + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/layouts/work-workspace6-rest.json b/i3/.config/i3/layouts/work-workspace6-rest.json new file mode 100644 index 0000000..bfc71de --- /dev/null +++ b/i3/.config/i3/layouts/work-workspace6-rest.json @@ -0,0 +1,20 @@ +{ + "border": "pixel", + "current_border_width": 1, + "floating": "auto_off", + "geometry": { + "height": 410, + "width": 654, + "x": 0, + "y": 0 + }, + "name": "http-prompt", + "percent": 0.5, + "swallows": [ + { + "class": "^Gnome\\-terminal$", + "title": "^http-prompt$" + } + ], + "type": "con" +} \ No newline at end of file diff --git a/i3/.config/i3/scripts/applets.sh b/i3/.config/i3/scripts/applets.sh new file mode 100755 index 0000000..7a05297 --- /dev/null +++ b/i3/.config/i3/scripts/applets.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +killall nm-applet +killall pasystray +nohup nm-applet >/dev/null 2>&1 & +nohup pasystray >/dev/null 2>&1 & \ No newline at end of file diff --git a/i3/.config/i3/scripts/home-layout.sh b/i3/.config/i3/scripts/home-layout.sh new file mode 100755 index 0000000..c10e567 --- /dev/null +++ b/i3/.config/i3/scripts/home-layout.sh @@ -0,0 +1,32 @@ +#!/bin/sh +i3-msg 'workspace "1: Comms"; append_layout ~/.config/i3/layouts/home-workspace1-comms.json' +#i3-msg 'workspace "1: Comms"; exec /home/jfm/Tools/mattermost-desktop-3.7.1/mattermost-desktop' +i3-msg 'workspace "1: Comms"; exec gnome-terminal --title "weechat" -e "weechat"' +i3-msg 'workspace "1: Comms"; move workspace to output DP-2-2' +sleep 2 + +i3-msg 'workspace "2: Web"; append_layout ~/.config/i3/layouts/home-workspace2-web.json' +i3-msg 'workspace "2: Web"; exec google-chrome-beta' +i3-msg 'workspace "2: Web"; move workspace to output DP-2-2' +sleep 2 + +i3-msg 'workspace "3: IDE"; append_layout ~/.config/i3/layouts/home-workspace3-ide.json' +i3-msg 'workspace "3: IDE"; move workspace to output DP-2-1' +sleep 2 + +i3-msg 'workspace "4: Work"; append_layout ~/.config/i3/layouts/home-workspace4-work.json' +i3-msg 'workspace "4: Work"; exec subl' +i3-msg 'workspace "4: Work"; exec gnome-terminal --title="shell1"' +i3-msg 'workspace "4: Work"; exec gnome-terminal --title="shell2"' +i3-msg 'workspace "4: Work"; move workspace to output DP-2-1' +sleep 2 + +i3-msg 'workspace "5: Media"; append_layout ~/.config/i3/layouts/home-workspace5-media.json' +#TODO: Set and execute something for the first terminal +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="TODO"' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="newsbeuter" -e newsbeuter' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="music" -e ~/Templates/music.sh' +i3-msg 'workspace "5: Media"; move workspace to output DP-2-2' + +feh --bg-scale --zoom fill ~/.config/i3/wallpaper/frozen_leafs.jpg +~/.config/i3/polybar/home-polybar.sh \ No newline at end of file diff --git a/i3/.config/i3/scripts/home-monitors.sh b/i3/.config/i3/scripts/home-monitors.sh new file mode 100755 index 0000000..c7a7343 --- /dev/null +++ b/i3/.config/i3/scripts/home-monitors.sh @@ -0,0 +1,2 @@ +#!/bin/sh +xrandr --output DP-2-1 --mode 1920x1200 --pos 1920x0 --rotate normal --output DP-2-2 --primary --mode 1920x1200 --pos 0x0 --rotate normal --output DP-2-3 --off --output eDP-1 --off --output HDMI-2 --off --output HDMI-1 --off --output DP-2 --off --output DP-1 --off diff --git a/i3/.config/i3/scripts/i3exit b/i3/.config/i3/scripts/i3exit new file mode 100755 index 0000000..0b66d74 --- /dev/null +++ b/i3/.config/i3/scripts/i3exit @@ -0,0 +1,30 @@ +#!/bin/sh +lock() { + ~/.config/i3/i3lock/lock --no-text +} + +case "$1" in + lock) + lock + ;; + logout) + i3-msg exit + ;; + suspend) + lock && systemctl suspend + ;; + hibernate) + lock && systemctl hibernate + ;; + reboot) + systemctl reboot + ;; + shutdown) + systemctl poweroff + ;; + *) + echo "Usage: $0 {lock|logout|suspend|hibernate|reboot|shutdown}" + exit 2 +esac + +exit 0 \ No newline at end of file diff --git a/i3/.config/i3/scripts/laptop-layout.sh b/i3/.config/i3/scripts/laptop-layout.sh new file mode 100755 index 0000000..4038ae6 --- /dev/null +++ b/i3/.config/i3/scripts/laptop-layout.sh @@ -0,0 +1,28 @@ +#!/bin/sh +i3-msg 'workspace "1: Comms"; append_layout ~/.config/i3/layouts/laptop-workspace1-comms.json' +#i3-msg 'workspace "1: Comms"; exec /home/jfm/Tools/mattermost-desktop-3.7.1/mattermost-desktop' +i3-msg 'workspace "1: Comms"; exec gnome-terminal --title "weechat" --profile laptop -e "weechat"' +i3-msg 'workspace "1: Comms"; move workspace to output eDP-1' + +i3-msg 'workspace "2: Web"; append_layout ~/.config/i3/layouts/laptop-workspace2-web.json' +i3-msg 'workspace "2: Web"; exec google-chrome-beta' +i3-msg 'workspace "2: Web"; move workspace to output eDP-1' + +i3-msg 'workspace "3: IDE"; append_layout ~/.config/i3/layouts/laptop-workspace3-ide.json' +i3-msg 'workspace "3: IDE"; move workspace to output eDP-1' + +i3-msg 'workspace "4: Work"; append_layout ~/.config/i3/layouts/laptop-workspace4-work.json' +i3-msg 'workspace "4: Work"; exec subl' +i3-msg 'workspace "4: Work"; exec gnome-terminal --title="shell1" --profile laptop' +i3-msg 'workspace "4: Work"; exec gnome-terminal --title="shell2" --profile laptop' +i3-msg 'workspace "4: Work"; move workspace to output eDP-1' + +i3-msg 'workspace "5: Media"; append_layout ~/.config/i3/layouts/laptop-workspace5-media.json' +#TODO: Set and execute something for the first terminal +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="TODO" --profile laptop' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="newsbeuter" --profile laptop -e newsbeuter' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="music" --profile laptop -e ~/Templates/music.sh' +i3-msg 'workspace "5: Media"; move workspace to output eDP-1' + +feh --bg-scale --zoom fill ~/.config/i3/wallpaper/frozen_leafs.jpg +~/.config/i3/polybar/laptop-polybar.sh diff --git a/i3/.config/i3/scripts/laptop-monitors.sh b/i3/.config/i3/scripts/laptop-monitors.sh new file mode 100755 index 0000000..fbe5847 --- /dev/null +++ b/i3/.config/i3/scripts/laptop-monitors.sh @@ -0,0 +1,2 @@ +#!/bin/sh +xrandr --output HDMI-2 --off --output HDMI-1 --off --output DP-1 --off --output eDP-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP-2 --off diff --git a/i3/.config/i3/scripts/music.sh b/i3/.config/i3/scripts/music.sh new file mode 100755 index 0000000..d85a572 --- /dev/null +++ b/i3/.config/i3/scripts/music.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +nohup mopidy >/dev/null 2>&1 & \ No newline at end of file diff --git a/i3/.config/i3/scripts/work-layout.sh b/i3/.config/i3/scripts/work-layout.sh new file mode 100755 index 0000000..6b330d6 --- /dev/null +++ b/i3/.config/i3/scripts/work-layout.sh @@ -0,0 +1,36 @@ +#!/bin/sh +i3-msg 'workspace "1: Comms"; append_layout ~/.config/i3/layouts/work-workspace1-comms.json' +i3-msg 'workspace "1: Comms"; exec gnome-terminal --title="weechat" -e weechat' +#i3-msg 'workspace "1: Comms"; exec /home/jfm/Tools/mattermost-desktop-3.7.1/mattermost-desktop' +i3-msg 'workspace "1: Comms"; move workspace to output DP-2-1' +sleep 2 + +i3-msg 'workspace "2: Web"; append_layout ~/.config/i3/layouts/work-workspace2-web.json' +i3-msg 'workspace "2: Web"; exec google-chrome-beta' +i3-msg 'workspace "2: Web"; move workspace to output DP-2-2' +sleep 2 + +i3-msg 'workspace "3: IDE"; append_layout ~/.config/i3/layouts/work-workspace3-ide.json' +i3-msg 'workspace "3: IDE"; move workspace to output DP-2-2' +sleep 2 + +i3-msg 'workspace "4: Work"; append_layout ~/.config/i3/layouts/work-workspace4-work.json' +i3-msg 'workspace "4: Work"; exec subl' +i3-msg 'workspace "4: Work"; exec gnome-terminal --title="shell1"' +i3-msg 'workspace "4: Work"; exec gnome-terminal --title="shell2"' +i3-msg 'workspace "4: Work"; move workspace to output DP-2-2' +sleep 2 + +i3-msg 'workspace "5: Media"; append_layout ~/.config/i3/layouts/work-workspace5-media.json' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="tasks" --profile laptop' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="newsbeuter" --profile laptop -e newsbeuter' +i3-msg 'workspace "5: Media"; exec gnome-terminal --title="music" --profile laptop -e ncmpc' +i3-msg 'workspace "5: Media"; move workspace to output eDP-1' +sleep 2 +i3-msg 'workspace "6: REST"; append_layout ~/.config/i3/layouts/work-workspace6-rest.json' +i3-msg 'workspace "6: REST"; exec gnome-terminal --title="http-prompt" --working-directory=/home/jfm/Customers/TDC/ApiTest -e http-prompt' +i3-msg 'workspace "6: REST"; move workspace to output DP-2-1' +sleep 2 + +feh --bg-scale --zoom fill ~/.config/i3/wallpaper/frozen_leafs.jpg +~/.config/i3/polybar/work-polybar.sh \ No newline at end of file diff --git a/i3/.config/i3/scripts/work-monitors.sh b/i3/.config/i3/scripts/work-monitors.sh new file mode 100755 index 0000000..639938e --- /dev/null +++ b/i3/.config/i3/scripts/work-monitors.sh @@ -0,0 +1,2 @@ +#!/bin/sh +xrandr --output DP-2-1 --mode 1280x1024 --pos 0x0 --rotate normal --output DP-2-2 --mode 1920x1080 --pos 1280x0 --rotate normal --output DP-2-3 --off --output eDP-1 --primary --mode 2560x1440 --pos 3200x0 --rotate normal --output HDMI-2 --off --output HDMI-1 --off --output DP-2 --off --output DP-1 --off diff --git a/i3/.config/i3/wallpaper/frozen_leafs.jpg b/i3/.config/i3/wallpaper/frozen_leafs.jpg new file mode 100644 index 0000000..92cc353 Binary files /dev/null and b/i3/.config/i3/wallpaper/frozen_leafs.jpg differ diff --git a/polybar/.config/polybar/config b/polybar/.config/polybar/config new file mode 100644 index 0000000..cc9dd98 --- /dev/null +++ b/polybar/.config/polybar/config @@ -0,0 +1,123 @@ + +;===================================================== +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains alot of information +; +;===================================================== + +[global/wm] +margin-top = 5 +margin-bottom = 5 + +[colors] +label-color = #BDBDBD + +visible-background = #263238 +visible-foreground = #009688 +visible-underline = #009688 +unfocused-background = #263238 +unfocused-foreground = #BDBDBD +unfocused-underline= #BDBDBD +focused-background = #263238 +focused-foreground = #009688 +focused-underline = #009688 +urgent-background = #263238 +urgent-foreground = #BF360C +urgent-underline = #BF360C + +[bar/topbar1] +monitor = eDP-1 +width = 100% +height = 25 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +background = #263238 +foreground = #FFFFFF00 + +font-0 = Roboto:size=11:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = i3 +modules-center = date +modules-right = + +tray-position = right +tray-padding = 5 +tray-transparent = false + +override-redirect = false +;wm-restack = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = true +strip-wsnumbers = false +pin-workspaces = true + +label-mode-padding = 5 + +label-indicator-padding = 0 +label-indicator-background = #BBBBBB +label-indicator-underline = ${colors.focused-underline} + +label-visible-foreground = ${colors.visible-foreground} +label-visible-background = ${colors.visible-background} +label-visible-underline = ${colors.visible-underline} +label-visible-padding = 1 + +label-unfocused-foreground = ${colors.unfocused-foreground} +label-unfocused-background = ${colors.unfocused-background} +label-unfocused-underline = ${colors.unfocused-underline} +label-unfocused-padding = 1 + +label-focused-foreground = ${colors.focused-foreground} +label-focused-background = ${colors.focused-background} +label-focused-underline = ${colors.focused-underline} +label-focused-padding = 1 + +label-urgent-foreground = ${colors.urgent-foreground} +label-urgent-background = ${colors.urgent-background} +label-urgent-underline = ${colors.urgent-underline} +label-urgent-padding = 1 + +[module/date] +type = internal/date +interval = 5 + +label-foreground = ${colors.label-color} + +date = "%d/%m-%y" +date-alt = " %d" + +time = " %H:%M" +time-alt = %H:%M + +label = %date% %time% + +[module/wireless-network] +type = internal/network +interface = wlp4s0 + +format-connected = +format-disconnected = +format-packetloss = + +label-connected-foreground = ${colors.label-color} +label-connected-padding-right = 10 +label-connected = %essid% %downspeed:9% + +label-disconnected-foreground = ${colors.label-color} +label-disconnected = not connected \ No newline at end of file diff --git a/polybar/.config/polybar/home-config b/polybar/.config/polybar/home-config new file mode 100644 index 0000000..3eb10b6 --- /dev/null +++ b/polybar/.config/polybar/home-config @@ -0,0 +1,158 @@ + +;===================================================== +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains alot of information +; +;===================================================== + +[global/wm] +margin-top = 5 +margin-bottom = 5 + +[colors] +label-color = #BDBDBD + +visible-background = #263238 +visible-foreground = #009688 +visible-underline = #FF009688 +unfocused-background = #263238 +unfocused-foreground = #BDBDBD +unfocused-underline= #FFABDBDBD +focused-background = #263238 +focused-foreground = #009688 +focused-underline = #FF009688 +urgent-background = #263238 +urgent-foreground = #BF360C +urgent-underline = #FFBF360C + +[bar/topbar1] +monitor = DP-2-2 +width = 100% +height = 25 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +underline-size = 3 +underline-color = ${colors.visible-foreground} + +background = #263238 +foreground = #FFFFFF00 + +font-0 = Roboto:size=14:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = i3 +modules-center = date +modules-right = mpd + +tray-position = right +tray-padding = 5 +tray-transparent = false + +override-redirect = false +;wm-restack = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[bar/topbar2] +monitor = DP-2-1 +width = 100% +height = 25 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +underline-size = 3 +underline-color = ${colors.visible-foreground} + +background = #263238 +foreground = #00000000 + +font-0 = Roboto:size=14:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = +modules-center = i3 +modules-right = + +override-redirect = false +;wm-restack = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = true +strip-wsnumbers = false +pin-workspaces = true + +label-mode-padding = 5 + +label-visible-foreground = ${colors.visible-foreground} +label-visible-background = ${colors.visible-background} +label-visible-padding = 1 + +label-unfocused-foreground = ${colors.unfocused-foreground} +label-unfocused-background = ${colors.unfocused-background} +label-unfocused-underline = ${colors.unfocused-underline} +label-unfocused-margin = 1 +label-unfocused-padding-right = 1 + +label-focused-foreground = ${colors.focused-foreground} +label-focused-background = ${colors.focused-background} +label-focused-underline = ${colors.focused-underline} +label-focused-margin = 1 +label-focused-padding-right = 1 + +label-urgent-foreground = ${colors.urgent-foreground} +label-urgent-background = ${colors.urgent-background} +label-urgent-underline = ${colors.urgent-underline} +label-urgent-margin = 1 +label-urgent-padding-right = 1 + +[module/date] +type = internal/date +interval = 5 + +label-foreground = ${colors.label-color} + +date = "%d/%m-%y" +date-alt = " %d" + +time = " %H:%M" +time-alt = %H:%M + +label = %date% %time% + +[module/mpd] +type = internal/mpd + +host = 127.0.0.1 +port = 6600 +#password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +format-online = +label-song = %artist% - %title% +label-offline = MPD is offline + +label-time-foreground = ${colors.label-color} +label-song-foreground = ${colors.label-color} +label-offline-foreground = ${colors.label-color} diff --git a/polybar/.config/polybar/home-polybar.sh b/polybar/.config/polybar/home-polybar.sh new file mode 100755 index 0000000..546cba0 --- /dev/null +++ b/polybar/.config/polybar/home-polybar.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +killall polybar +#polybar traybar -c ~/.config/i3/polybar/config & +polybar topbar1 -c ~/.config/i3/polybar/home-config & +polybar topbar2 -c ~/.config/i3/polybar/home-config & \ No newline at end of file diff --git a/polybar/.config/polybar/laptop-config b/polybar/.config/polybar/laptop-config new file mode 100644 index 0000000..39385e6 --- /dev/null +++ b/polybar/.config/polybar/laptop-config @@ -0,0 +1,151 @@ +;===================================================== +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains alot of information +; +;===================================================== + +[global/wm] +margin-top = 5 +margin-bottom = 5 + +[colors] +label-color = #BDBDBD + +visible-background = #263238 +visible-foreground = #009688 +visible-underline = #FF009688 +unfocused-background = #263238 +unfocused-foreground = #BDBDBD +unfocused-underline= #FFBDBDBD +focused-background = #263238 +focused-foreground = #009688 +focused-underline = #FF009688 +urgent-background = #263238 +urgent-foreground = #BF360C +urgent-underline = #FFBF360C + +[bar/topbar1] +monitor = eDP-1 +width = 100% +height = 30 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +underline-size = 3 +underline-color = ${colors.visible-foreground} + +background = #263238 +foreground = #FFFFFF00 + +font-0 = Roboto:size=14:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = date +modules-center = i3 +modules-right = mpd battery + +tray-position = right +tray-padding = 5 +tray-transparent = false + +override-redirect = false + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = true +strip-wsnumbers = false +pin-workspaces = true + +label-visible-foreground = ${colors.visible-foreground} +label-visible-background = ${colors.visible-background} +label-visible-padding = 1 + +label-unfocused-foreground = ${colors.unfocused-foreground} +label-unfocused-background = ${colors.unfocused-background} +label-unfocused-underline = ${colors.unfocused-underline} +label-unfocused-margin = 1 +label-unfocused-padding-right = 1 + +label-focused-foreground = ${colors.focused-foreground} +label-focused-background = ${colors.focused-background} +label-focused-underline = ${colors.focused-underline} +label-focused-margin = 1 +label-focused-padding-right = 1 + +label-urgent-foreground = ${colors.urgent-foreground} +label-urgent-background = ${colors.urgent-background} +label-urgent-underline = ${colors.urgent-underline} +label-urgent-margin = 1 +label-urgent-padding-right = 1 + +[module/date] +type = internal/date +interval = 5 + +label-foreground = ${colors.label-color} +label-underline = ${colors.label-color} + + +date = "%d/%m-%y" +date-alt = " %d" + +time = " %H:%M" +time-alt = %H:%M + +label = %date% %time% + +[module/mpd] +type = internal/mpd + +host = 127.0.0.1 +port = 6600 +#password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +format-online = +label-song = %artist% - %title% +label-offline = MPD is offline + +label-time-foreground = ${colors.label-color} +label-song-foreground = ${colors.label-color} +label-offline-foreground = ${colors.label-color} + +[module/battery] +type = internal/battery + +; This is useful in case the battery never reports 100% charge +full-at = 99 + +; Use the following command to list batteries and adapters: +; $ ls -1 /sys/class/power_supply/ +battery = BAT0 +adapter = AC + +label-charging = Battery: +%percentage%% +format-charging = +label-charging-foreground = ${colors.label-color} +label-charging-underline = ${colors.label-color} +label-charging-padding = 1 + +label-discharging = Battery: -%percentage%% +format-discharging = +label-discharging-foreground = ${colors.label-color} +label-discharging-underline = ${colors.label-color} +label-discharging-padding = 1 + +poll-interval = 5 \ No newline at end of file diff --git a/polybar/.config/polybar/laptop-polybar.sh b/polybar/.config/polybar/laptop-polybar.sh new file mode 100755 index 0000000..1218121 --- /dev/null +++ b/polybar/.config/polybar/laptop-polybar.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +killall polybar +#polybar traybar -c ~/.config/i3/polybar/config & +polybar topbar1 -c ~/.config/i3/polybar/laptop-config & +#polybar topbar2 -c ~/.config/i3/polybar/config & \ No newline at end of file diff --git a/polybar/.config/polybar/polybar.sh b/polybar/.config/polybar/polybar.sh new file mode 100755 index 0000000..adac430 --- /dev/null +++ b/polybar/.config/polybar/polybar.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +killall polybar +polybar topbar1 -c ~/.config/i3/polybar/config & diff --git a/polybar/.config/polybar/work-config b/polybar/.config/polybar/work-config new file mode 100644 index 0000000..0e19778 --- /dev/null +++ b/polybar/.config/polybar/work-config @@ -0,0 +1,189 @@ + + ;===================================================== +; +; To learn more about how to configure Polybar +; go to https://github.com/jaagr/polybar +; +; The README contains alot of information +; +;===================================================== + +[global/wm] +margin-top = 5 +margin-bottom = 5 + +[colors] +label-color = #BDBDBD + +visible-background = #263238 +visible-foreground = #009688 +visible-underline = #FF009688 +unfocused-background = #263238 +unfocused-foreground = #BDBDBD +unfocused-underline= #FFBDBDBD +focused-background = #263238 +focused-foreground = #009688 +focused-underline = #FF009688 +urgent-background = #263238 +urgent-foreground = #BF360C +urgent-underline = #FFBF360C + +[bar/topbar1] +monitor = DP-2-2 +width = 100% +height = 25 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +underline-size = 3 +underline-color = ${colors.visible-foreground} + +background = #263238 +foreground = #FFFFFF00 + +font-0 = Roboto:size=14:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = date +modules-center = i3 +modules-right = mpd + +tray-position = right +tray-padding = 5 +tray-transparent = false + +override-redirect = false +;wm-restack = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[bar/topbar2] +monitor = DP-2-1 +width = 100% +height = 25 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +underline-size = 3 +underline-color = ${colors.visible-foreground} + +background = #263238 +foreground = #00000000 + +font-0 = Roboto:size=14:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = +modules-center = i3 +modules-right = + +override-redirect = false +;wm-restack = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[bar/topbar3] +monitor = eDP-1 +width = 100% +height = 25 +offset-x = 0 +offset-y = 0 +padding-right = 7 +padding-left = 7 + +underline-size = 3 +underline-color = ${colors.visible-foreground} + +background = #263238 +foreground = #00000000 + +font-0 = Roboto:size=14:weight=bold;2 +font-1 = unifont:size=6:heavy:fontformat=truetype;-2 +font-2 = siji:pixelsize=10;0 +font-3 = FontAwesome:pixelsize=14;0 + +modules-left = +modules-center = i3 +modules-right = + +override-redirect = false +;wm-restack = i3 + +scroll-up = i3wm-wsnext +scroll-down = i3wm-wsprev + +[module/i3] +type = internal/i3 +format = +index-sort = true +wrapping-scroll = true +strip-wsnumbers = false +pin-workspaces = true + +label-mode-padding = 5 + +label-visible-foreground = ${colors.visible-foreground} +label-visible-background = ${colors.visible-background} +label-visible-padding = 1 + +label-unfocused-foreground = ${colors.unfocused-foreground} +label-unfocused-background = ${colors.unfocused-background} +label-unfocused-underline = ${colors.unfocused-underline} +label-unfocused-margin = 1 +label-unfocused-padding-right = 1 + +label-focused-foreground = ${colors.focused-foreground} +label-focused-background = ${colors.focused-background} +label-focused-underline = ${colors.focused-underline} +label-focused-margin = 1 +label-focused-padding-right = 1 + +label-urgent-foreground = ${colors.urgent-foreground} +label-urgent-background = ${colors.urgent-background} +label-urgent-underline = ${colors.urgent-underline} +label-urgent-margin = 1 +label-urgent-padding-right = 1 + +[module/date] +type = internal/date +interval = 5 + +label-foreground = ${colors.label-color} +label-underline = ${colors.label-color} + +date = "%d/%m-%y" +date-alt = " %d" + +time = " %H:%M" +time-alt = %H:%M + +label = %date% %time% + +[module/mpd] +type = internal/mpd + +host = 127.0.0.1 +port = 6600 +#password = mysecretpassword + +; Seconds to sleep between progressbar/song timer sync +; Default: 1 +interval = 1 + +format-online = +label-song = %artist% - %title% +label-offline = MPD is offline + +label-time-foreground = ${colors.label-color} +label-song-foreground = ${colors.label-color} +label-offline-foreground = ${colors.label-color} diff --git a/polybar/.config/polybar/work-polybar.sh b/polybar/.config/polybar/work-polybar.sh new file mode 100755 index 0000000..a231c3c --- /dev/null +++ b/polybar/.config/polybar/work-polybar.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +killall polybar +polybar topbar1 -c ~/.config/i3/polybar/work-config & +polybar topbar2 -c ~/.config/i3/polybar/work-config & +polybar topbar3 -c ~/.config/i3/polybar/work-config & \ No newline at end of file diff --git a/rofi/.config/rofi/config b/rofi/.config/rofi/config new file mode 100644 index 0000000..e22f437 --- /dev/null +++ b/rofi/.config/rofi/config @@ -0,0 +1,9 @@ + +# rofi.location: 1 +#rofi.font: "Roboto 10" +rofi.lines: 5 +rofi.color-enabled: true +rofi.color-window: #26C6DA, #26C6DA, #1e2529 +rofi.color-normal: #26C6DA, #424242, #26C6DA +rofi.color-active: #26C6DA, #424242, #26C6DA +rofi.color-urgent: #26C6DA, #424242, #26C6DA \ No newline at end of file