From 8ee68260ee1cde452f6c8e279a5f11175ec4e412 Mon Sep 17 00:00:00 2001 From: Harish Karumuthil Date: Wed, 6 Jul 2022 01:01:23 +0530 Subject: [PATCH] Overwriting files before grafting the new repo --- home/.bashrc | 8 +- home/.config/kglobalshortcutsrc | 49 +- home/.config/khotkeysrc | 940 +++++++++++ home/.config/kwinrc | 133 ++ home/.config/nvim/UltiSnips/c.snippets | 0 .../nvim/UltiSnips/javascript.snippets | 11 + home/.config/nvim/UltiSnips/snippets.snippets | 4 + home/.config/nvim/colors/gruvbox.vim | 1418 +++++++++++++++++ home/.config/nvim/init.vim | 15 +- .../plasma-org.kde.plasma.desktop-appletsrc | 511 ++++++ .../daily-utils/bin/_hari-tools-completion.sh | 17 + home/.local/Apps/daily-utils/bin/bash-session | 7 +- .../.local/Apps/daily-utils/bin/hari-tools.sh | 92 +- 13 files changed, 3099 insertions(+), 106 deletions(-) create mode 100644 home/.config/khotkeysrc create mode 100644 home/.config/kwinrc create mode 100644 home/.config/nvim/UltiSnips/c.snippets create mode 100644 home/.config/nvim/UltiSnips/javascript.snippets create mode 100644 home/.config/nvim/UltiSnips/snippets.snippets create mode 100644 home/.config/nvim/colors/gruvbox.vim create mode 100644 home/.config/plasma-org.kde.plasma.desktop-appletsrc create mode 100755 home/.local/Apps/daily-utils/bin/_hari-tools-completion.sh diff --git a/home/.bashrc b/home/.bashrc index cfcb975..765a4bf 100644 --- a/home/.bashrc +++ b/home/.bashrc @@ -34,12 +34,12 @@ export NVM_DIR="$HOME/.nvm" # The next line updates PATH for the Google Cloud SDK. -if [ -f "$HOME/Downloads/google-cloud-sdk/path.bash.inc" ]; then . "$HOME/Downloads/google-cloud-sdk/path.bash.inc"; fi +if [ -f '/home/hari/Downloads/google-cloud-sdk/path.bash.inc' ]; then . '/home/hari/Downloads/google-cloud-sdk/path.bash.inc'; fi # The next line enables shell command completion for gcloud. -if [ -f "$HOME/Downloads/google-cloud-sdk/completion.bash.inc" ]; then . "$HOME/Downloads/google-cloud-sdk/completion.bash.inc"; fi +if [ -f '/home/hari/Downloads/google-cloud-sdk/completion.bash.inc' ]; then . '/home/hari/Downloads/google-cloud-sdk/completion.bash.inc'; fi -export DENO_INSTALL="$HOME/.deno" +export DENO_INSTALL="/home/hari/.deno" export PATH="$DENO_INSTALL/bin:$PATH" export USER_BASHRC_READ=1 fi @@ -49,5 +49,5 @@ nvmLoad(){ [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion } -eval "$($HOME/.local/bin/hari-tools.sh setup-autocomplete) hari-tools.sh" +. $HOME/.local/Apps/daily-utils/bin/_hari-tools-completion.sh . /usr/share/bash-completion/completions/fzf-key-bindings diff --git a/home/.config/kglobalshortcutsrc b/home/.config/kglobalshortcutsrc index 14d586a..94464a6 100644 --- a/home/.config/kglobalshortcutsrc +++ b/home/.config/kglobalshortcutsrc @@ -11,7 +11,7 @@ _k_friendly_name=Keyboard Layout Switcher Capture=Ctrl+Print,none,Take screenshot Configure=none,none,Configure _k_friendly_name=Launch Flameshot -_launch=Meta+Ctrl+Print,none,Launch Flameshot +_launch=,none,Launch Flameshot [kaccess] Toggle Screen Reader On and Off=Meta+Alt+S,Meta+Alt+S,Toggle Screen Reader On and Off @@ -29,7 +29,7 @@ _k_friendly_name=KDE Daemon display=Display\tMeta+P,Display\tMeta+P,Switch Display [khotkeys] -_k_friendly_name=Custom Shortcuts Service +_k_friendly_name=KDE Daemon {001c39c3-d994-4494-a135-0b2d482ab940}=Ctrl+Alt+T,none,Launch Konsole {d03619b6-9b3c-48cc-9d9c-a2aadb485550}=,none,Search @@ -48,11 +48,11 @@ _k_friendly_name=KRunner _launch=\tAlt+F2\tSearch,none,KRunner [ksmserver] -Halt Without Confirmation=none,Ctrl+Alt+Shift+PgDown,Halt Without Confirmation +Halt Without Confirmation=none,none,Halt Without Confirmation Lock Session=Ctrl+Alt+L\tScreensaver,Meta+L\tCtrl+Alt+L\tScreensaver,Lock Session -Log Out=Ctrl+Alt+Del,Ctrl+Alt+Del,Log Out -Log Out Without Confirmation=none,Ctrl+Alt+Shift+Del,Log Out Without Confirmation -Reboot Without Confirmation=none,Ctrl+Alt+Shift+PgUp,Reboot Without Confirmation +Log Out=Ctrl+Alt+Del,none,Log Out +Log Out Without Confirmation=none,none,Log Out Without Confirmation +Reboot Without Confirmation=none,none,Reboot Without Confirmation _k_friendly_name=Session Management [kwin] @@ -64,9 +64,9 @@ Expose=Ctrl+F9,Ctrl+F9,Toggle Present Windows (Current desktop) ExposeAll=Ctrl+F10\tLaunch (C),Ctrl+F10\tLaunch (C),Toggle Present Windows (All desktops) ExposeClass=Ctrl+F7,Ctrl+F7,Toggle Present Windows (Window class) Increase Opacity=none,none,Increase Opacity of Active Window by 5 % -Invert Screen Colors=none,none,Invert Screen Colors +Invert Screen Colors=none,none,Invert Screen Colours Kill Window=Ctrl+Alt+Esc,Ctrl+Alt+Esc,Kill Window -MoveMouseToCenter=Meta+F6,Meta+F6,Move Mouse to Center +MoveMouseToCenter=Meta+F6,Meta+F6,Move Mouse to Centre MoveMouseToFocus=Meta+F5,Meta+F5,Move Mouse to Focus MoveZoomDown=none,none,Move Zoomed Area Downwards MoveZoomLeft=none,none,Move Zoomed Area to Left @@ -85,7 +85,7 @@ Switch Window Down=Meta+Alt+Down,Meta+Alt+Down,Switch to Window Below Switch Window Left=Meta+Alt+Left,Meta+Alt+Left,Switch to Window to the Left Switch Window Right=Meta+Alt+Right,Meta+Alt+Right,Switch to Window to the Right Switch Window Up=Meta+Alt+Up,Meta+Alt+Up,Switch to Window Above -Switch to Desktop 1=none,Ctrl+F1,Switch to Desktop 1 +Switch to Desktop 1=Ctrl+F1,Ctrl+F1,Switch to Desktop 1 Switch to Desktop 10=none,none,Switch to Desktop 10 Switch to Desktop 11=none,none,Switch to Desktop 11 Switch to Desktop 12=none,none,Switch to Desktop 12 @@ -96,10 +96,10 @@ Switch to Desktop 16=none,none,Switch to Desktop 16 Switch to Desktop 17=none,none,Switch to Desktop 17 Switch to Desktop 18=none,none,Switch to Desktop 18 Switch to Desktop 19=none,none,Switch to Desktop 19 -Switch to Desktop 2=none,Ctrl+F2,Switch to Desktop 2 +Switch to Desktop 2=Ctrl+F2,Ctrl+F2,Switch to Desktop 2 Switch to Desktop 20=none,none,Switch to Desktop 20 -Switch to Desktop 3=none,Ctrl+F3,Switch to Desktop 3 -Switch to Desktop 4=none,Ctrl+F4,Switch to Desktop 4 +Switch to Desktop 3=Ctrl+F3,Ctrl+F3,Switch to Desktop 3 +Switch to Desktop 4=Ctrl+F4,Ctrl+F4,Switch to Desktop 4 Switch to Desktop 5=none,none,Switch to Desktop 5 Switch to Desktop 6=none,none,Switch to Desktop 6 Switch to Desktop 7=none,none,Switch to Desktop 7 @@ -142,17 +142,17 @@ Window Fullscreen=none,none,Make Window Fullscreen Window Grow Horizontal=none,none,Pack Grow Window Horizontally Window Grow Vertical=none,none,Pack Grow Window Vertically Window Lower=none,none,Lower Window -Window Maximize=Meta+PgUp,Meta+PgUp,Maximize Window -Window Maximize Horizontal=none,none,Maximize Window Horizontally -Window Maximize Vertical=none,none,Maximize Window Vertically -Window Minimize=Meta+PgDown,Meta+PgDown,Minimize Window +Window Maximize=Meta+PgUp,Meta+PgUp,Maximise Window +Window Maximize Horizontal=none,none,Maximise Window Horizontally +Window Maximize Vertical=none,none,Maximise Window Vertically +Window Minimize=Meta+PgDown,Meta+PgDown,Minimise Window Window Move=none,none,Move Window Window No Border=none,none,Hide Window Border Window On All Desktops=none,none,Keep Window on All Desktops -Window One Desktop Down=Ctrl+Alt+Shift+Down,Meta+Ctrl+Shift+Down,Window One Desktop Down -Window One Desktop Up=Ctrl+Alt+Shift+Up,Meta+Ctrl+Shift+Up,Window One Desktop Up -Window One Desktop to the Left=Ctrl+Alt+Shift+Left,Meta+Ctrl+Shift+Left,Window One Desktop to the Left -Window One Desktop to the Right=Ctrl+Alt+Shift+Right,Meta+Ctrl+Shift+Right,Window One Desktop to the Right +Window One Desktop Down=Ctrl+Alt+Shift+Down,none,Window One Desktop Down +Window One Desktop Up=Ctrl+Alt+Shift+Up,none,Window One Desktop Up +Window One Desktop to the Left=Ctrl+Alt+Shift+Left,none,Window One Desktop to the Left +Window One Desktop to the Right=Ctrl+Alt+Shift+Right,none,Window One Desktop to the Right Window Operations Menu=Alt+F3,Alt+F3,Window Operations Menu Window Pack Down=none,none,Pack Window Down Window Pack Left=none,none,Pack Window to the Left @@ -192,9 +192,9 @@ Window to Desktop 7=none,none,Window to Desktop 7 Window to Desktop 8=none,none,Window to Desktop 8 Window to Desktop 9=none,none,Window to Desktop 9 Window to Next Desktop=none,none,Window to Next Desktop -Window to Next Screen=Meta+Ctrl+Shift+Right,Meta+Shift+Right,Window to Next Screen +Window to Next Screen=Meta+Ctrl+Shift+Right,none,Window to Next Screen Window to Previous Desktop=none,none,Window to Previous Desktop -Window to Previous Screen=Meta+Ctrl+Shift+Left,Meta+Shift+Left,Window to Previous Screen +Window to Previous Screen=Meta+Ctrl+Shift+Left,none,Window to Previous Screen Window to Screen 0=none,none,Window to Screen 0 Window to Screen 1=none,none,Window to Screen 1 Window to Screen 2=none,none,Window to Screen 2 @@ -213,8 +213,6 @@ _k_friendly_name=Media Controller mediavolumedown=none,none,Media volume down mediavolumeup=none,none,Media volume up nextmedia=Media Next,Media Next,Media playback next -pausemedia=Media Pause,Media Pause,Pause media playback -playmedia=none,none,Play media playback playpausemedia=Media Play,Media Play,Play/Pause media playback previousmedia=Media Previous,Media Previous,Media playback previous stopmedia=Media Stop,Media Stop,Stop media playback @@ -268,13 +266,12 @@ activate task manager entry 8=Meta+8,Meta+8,Activate Task Manager Entry 8 activate task manager entry 9=Meta+9,Meta+9,Activate Task Manager Entry 9 activate widget 3=Alt+F1,none,Activate Application Launcher Widget activate widget 71=Meta+Space,none,Activate Application Launcher Widget -activate widget 76=none,none,Activate Display Configuration Widget clear-history=none,none,Clear Clipboard History clipboard_action=none,Ctrl+Alt+X,Enable Clipboard Actions cycleNextAction=none,none,Next History Item cyclePrevAction=none,none,Previous History Item edit_clipboard=none,none,Edit Contents... -manage activities=Meta+Q,Meta+Q,Show Activity Switcher +manage activities=Meta+Q,Meta+Q,Activities... next activity=Meta+Tab,Meta+Tab,Walk through activities previous activity=Meta+Shift+Tab,Meta+Shift+Tab,Walk through activities (Reverse) repeat_action=none,Ctrl+Alt+R,Manually Invoke Action on Current Clipboard diff --git a/home/.config/khotkeysrc b/home/.config/khotkeysrc new file mode 100644 index 0000000..3cc62c0 --- /dev/null +++ b/home/.config/khotkeysrc @@ -0,0 +1,940 @@ +[$Version] +update_info=spectacle_shortcuts.upd:spectacle-migrate-shortcuts + +[Data] +DataCount=3 + +[Data_1] +Comment=KMenuEdit Global Shortcuts +DataCount=2 +Enabled=true +Name=KMenuEdit +SystemGroup=1 +Type=ACTION_DATA_GROUP + +[Data_1Conditions] +Comment= +ConditionsCount=0 + +[Data_1_1] +Comment=Comment +Enabled=true +Name=Search +Type=SIMPLE_ACTION_DATA + +[Data_1_1Actions] +ActionsCount=1 + +[Data_1_1Actions0] +CommandURL=http://google.com +Type=COMMAND_URL + +[Data_1_1Conditions] +Comment= +ConditionsCount=0 + +[Data_1_1Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_1_1Triggers0] +Key= +Type=SHORTCUT +Uuid={d03619b6-9b3c-48cc-9d9c-a2aadb485550} + +[Data_1_2] +Comment=Global keyboard shortcut to launch Konsole +Enabled=true +Name=Launch Konsole +Type=MENUENTRY_SHORTCUT_ACTION_DATA + +[Data_1_2Actions] +ActionsCount=1 + +[Data_1_2Actions0] +CommandURL=org.kde.konsole.desktop +Type=MENUENTRY + +[Data_1_2Conditions] +Comment= +ConditionsCount=0 + +[Data_1_2Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_1_2Triggers0] +Key=Ctrl+Alt+T +Type=SHORTCUT +Uuid={001c39c3-d994-4494-a135-0b2d482ab940} + +[Data_2] +Comment=This group contains various examples demonstrating most of the features of KHotkeys. (Note that this group and all its actions are disabled by default.) +DataCount=8 +Enabled=false +ImportId=kde32b1 +Name=Examples +SystemGroup=0 +Type=ACTION_DATA_GROUP + +[Data_2Conditions] +Comment= +ConditionsCount=0 + +[Data_2_1] +Comment=After pressing Ctrl+Alt+I, the KSIRC window will be activated, if it exists. Simple. +Enabled=false +Name=Activate KSIRC Window +Type=SIMPLE_ACTION_DATA + +[Data_2_1Actions] +ActionsCount=1 + +[Data_2_1Actions0] +Type=ACTIVATE_WINDOW + +[Data_2_1Actions0Window] +Comment=KSIRC window +WindowsCount=1 + +[Data_2_1Actions0Window0] +Class=ksirc +ClassType=1 +Comment=KSIRC +Role= +RoleType=0 +Title= +TitleType=0 +Type=SIMPLE +WindowTypes=33 + +[Data_2_1Conditions] +Comment= +ConditionsCount=0 + +[Data_2_1Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_2_1Triggers0] +Key=Ctrl+Alt+I +Type=SHORTCUT +Uuid={4897a8ee-11eb-42d2-979d-ec2fad4c72d9} + +[Data_2_2] +Comment=After pressing Alt+Ctrl+H the input of 'Hello' will be simulated, as if you typed it. This is especially useful if you have call to frequently type a word (for instance, 'unsigned'). Every keypress in the input is separated by a colon ':'. Note that the keypresses literally mean keypresses, so you have to write what you would press on the keyboard. In the table below, the left column shows the input and the right column shows what to type.\n\n"enter" (i.e. new line) Enter or Return\na (i.e. small a) A\nA (i.e. capital a) Shift+A\n: (colon) Shift+;\n' ' (space) Space +Enabled=false +Name=Type 'Hello' +Type=SIMPLE_ACTION_DATA + +[Data_2_2Actions] +ActionsCount=1 + +[Data_2_2Actions0] +DestinationWindow=2 +Input=Shift+H:E:L:L:O\n +Type=KEYBOARD_INPUT + +[Data_2_2Conditions] +Comment= +ConditionsCount=0 + +[Data_2_2Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_2_2Triggers0] +Key=Ctrl+Alt+H +Type=SHORTCUT +Uuid={1e75df36-3f30-4906-ac7d-a85f2d5c9012} + +[Data_2_3] +Comment=This action runs Konsole, after pressing Ctrl+Alt+T. +Enabled=false +Name=Run Konsole +Type=SIMPLE_ACTION_DATA + +[Data_2_3Actions] +ActionsCount=1 + +[Data_2_3Actions0] +CommandURL=konsole +Type=COMMAND_URL + +[Data_2_3Conditions] +Comment= +ConditionsCount=0 + +[Data_2_3Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_2_3Triggers0] +Key=Ctrl+Alt+T +Type=SHORTCUT +Uuid={be4b973c-e473-4f91-80e5-e4d4f5fe4549} + +[Data_2_4] +Comment=Read the comment on the "Type 'Hello'" action first.\n\nQt Designer uses Ctrl+F4 for closing windows. In KDE, however, Ctrl+F4 is the shortcut for going to virtual desktop 4, so this shortcut does not work in Qt Designer. Further, Qt Designer does not use KDE's standard Ctrl+W for closing the window.\n\nThis problem can be solved by remapping Ctrl+W to Ctrl+F4 when the active window is Qt Designer. When Qt Designer is active, every time Ctrl+W is pressed, Ctrl+F4 will be sent to Qt Designer instead. In other applications, the effect of Ctrl+W is unchanged.\n\nWe now need to specify three things: A new shortcut trigger on 'Ctrl+W', a new keyboard input action sending Ctrl+F4, and a new condition that the active window is Qt Designer.\nQt Designer seems to always have title 'Qt Designer by Trolltech', so the condition will check for the active window having that title. +Enabled=false +Name=Remap Ctrl+W to Ctrl+F4 in Qt Designer +Type=GENERIC_ACTION_DATA + +[Data_2_4Actions] +ActionsCount=1 + +[Data_2_4Actions0] +DestinationWindow=2 +Input=Ctrl+F4 +Type=KEYBOARD_INPUT + +[Data_2_4Conditions] +Comment= +ConditionsCount=1 + +[Data_2_4Conditions0] +Type=ACTIVE_WINDOW + +[Data_2_4Conditions0Window] +Comment=Qt Designer +WindowsCount=1 + +[Data_2_4Conditions0Window0] +Class= +ClassType=0 +Comment= +Role= +RoleType=0 +Title=Qt Designer by Trolltech +TitleType=2 +Type=SIMPLE +WindowTypes=33 + +[Data_2_4Triggers] +Comment= +TriggersCount=1 + +[Data_2_4Triggers0] +Key=Ctrl+W +Type=SHORTCUT +Uuid={68f84851-7d93-4f5d-a945-2017023a95e0} + +[Data_2_5] +Comment=By pressing Alt+Ctrl+W a D-Bus call will be performed that will show the minicli. You can use any kind of D-Bus call, just like using the command line 'qdbus' tool. +Enabled=false +Name=Perform D-Bus call 'qdbus org.kde.krunner /App display' +Type=SIMPLE_ACTION_DATA + +[Data_2_5Actions] +ActionsCount=1 + +[Data_2_5Actions0] +Arguments= +Call=popupExecuteCommand +RemoteApp=org.kde.krunner +RemoteObj=/App +Type=DBUS + +[Data_2_5Conditions] +Comment= +ConditionsCount=0 + +[Data_2_5Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_2_5Triggers0] +Key=Ctrl+Alt+W +Type=SHORTCUT +Uuid={504433d9-9574-4bf8-a0be-f2e3fac8faf3} + +[Data_2_6] +Comment=Read the comment on the "Type 'Hello'" action first.\n\nJust like the "Type 'Hello'" action, this one simulates keyboard input, specifically, after pressing Ctrl+Alt+B, it sends B to XMMS (B in XMMS jumps to the next song). The 'Send to specific window' tickbox is ticked and a window with its class containing 'XMMS_Player' is specified; this will make the input always be sent to this window. This way, you can control XMMS even if, for instance, it is on a different virtual desktop.\n\n(Run 'xprop' and click on the XMMS window and search for WM_CLASS to see 'XMMS_Player'). +Enabled=false +Name=Next in XMMS +Type=SIMPLE_ACTION_DATA + +[Data_2_6Actions] +ActionsCount=1 + +[Data_2_6Actions0] +DestinationWindow=1 +Input=B +Type=KEYBOARD_INPUT + +[Data_2_6Actions0DestinationWindow] +Comment=XMMS window +WindowsCount=1 + +[Data_2_6Actions0DestinationWindow0] +Class=XMMS_Player +ClassType=1 +Comment=XMMS Player window +Role= +RoleType=0 +Title= +TitleType=0 +Type=SIMPLE +WindowTypes=33 + +[Data_2_6Conditions] +Comment= +ConditionsCount=0 + +[Data_2_6Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_2_6Triggers0] +Key=Ctrl+Alt+B +Type=SHORTCUT +Uuid={b19b903d-8536-4a00-a892-2fdb48e244d5} + +[Data_2_7] +Comment=Konqueror in KDE3.1 has tabs, and now you can also have gestures.\n\nJust press the middle mouse button and start drawing one of the gestures, and after you are finished, release the mouse button. If you only need to paste the selection, it still works, just click the middle mouse button. (You can change the mouse button to use in the global settings).\n\nRight now, there are the following gestures available:\nmove right and back left - Forward (Alt+Right)\nmove left and back right - Back (Alt+Left)\nmove up and back down - Up (Alt+Up)\ncircle anticlockwise - Reload (F5)\n\nThe gesture shapes can be entered by performing them in the configuration dialogue. You can also look at your numeric pad to help you: gestures are recognised like a 3x3 grid of fields, numbered 1 to 9.\n\nNote that you must perform exactly the gesture to trigger the action. Because of this, it is possible to enter more gestures for the action. You should try to avoid complicated gestures where you change the direction of mouse movement more than once. For instance, 45654 or 74123 are simple to perform, but 1236987 may be already quite difficult.\n\nThe conditions for all gestures are defined in this group. All these gestures are active only if the active window is Konqueror (class contains 'konqueror'). +DataCount=4 +Enabled=false +Name=Konqi Gestures +SystemGroup=0 +Type=ACTION_DATA_GROUP + +[Data_2_7Conditions] +Comment=Konqueror window +ConditionsCount=1 + +[Data_2_7Conditions0] +Type=ACTIVE_WINDOW + +[Data_2_7Conditions0Window] +Comment=Konqueror +WindowsCount=1 + +[Data_2_7Conditions0Window0] +Class=konqueror +ClassType=1 +Comment=Konqueror +Role= +RoleType=0 +Title= +TitleType=0 +Type=SIMPLE +WindowTypes=33 + +[Data_2_7_1] +Comment= +Enabled=false +Name=Back +Type=SIMPLE_ACTION_DATA + +[Data_2_7_1Actions] +ActionsCount=1 + +[Data_2_7_1Actions0] +DestinationWindow=2 +Input=Alt+Left +Type=KEYBOARD_INPUT + +[Data_2_7_1Conditions] +Comment= +ConditionsCount=0 + +[Data_2_7_1Triggers] +Comment=Gesture_triggers +TriggersCount=3 + +[Data_2_7_1Triggers0] +GesturePointData=0,0.0625,1,1,0.5,0.0625,0.0625,1,0.875,0.5,0.125,0.0625,1,0.75,0.5,0.1875,0.0625,1,0.625,0.5,0.25,0.0625,1,0.5,0.5,0.3125,0.0625,1,0.375,0.5,0.375,0.0625,1,0.25,0.5,0.4375,0.0625,1,0.125,0.5,0.5,0.0625,0,0,0.5,0.5625,0.0625,0,0.125,0.5,0.625,0.0625,0,0.25,0.5,0.6875,0.0625,0,0.375,0.5,0.75,0.0625,0,0.5,0.5,0.8125,0.0625,0,0.625,0.5,0.875,0.0625,0,0.75,0.5,0.9375,0.0625,0,0.875,0.5,1,0,0,1,0.5 +Type=GESTURE + +[Data_2_7_1Triggers1] +GesturePointData=0,0.0833333,1,0.5,0.5,0.0833333,0.0833333,1,0.375,0.5,0.166667,0.0833333,1,0.25,0.5,0.25,0.0833333,1,0.125,0.5,0.333333,0.0833333,0,0,0.5,0.416667,0.0833333,0,0.125,0.5,0.5,0.0833333,0,0.25,0.5,0.583333,0.0833333,0,0.375,0.5,0.666667,0.0833333,0,0.5,0.5,0.75,0.0833333,0,0.625,0.5,0.833333,0.0833333,0,0.75,0.5,0.916667,0.0833333,0,0.875,0.5,1,0,0,1,0.5 +Type=GESTURE + +[Data_2_7_1Triggers2] +GesturePointData=0,0.0833333,1,1,0.5,0.0833333,0.0833333,1,0.875,0.5,0.166667,0.0833333,1,0.75,0.5,0.25,0.0833333,1,0.625,0.5,0.333333,0.0833333,1,0.5,0.5,0.416667,0.0833333,1,0.375,0.5,0.5,0.0833333,1,0.25,0.5,0.583333,0.0833333,1,0.125,0.5,0.666667,0.0833333,0,0,0.5,0.75,0.0833333,0,0.125,0.5,0.833333,0.0833333,0,0.25,0.5,0.916667,0.0833333,0,0.375,0.5,1,0,0,0.5,0.5 +Type=GESTURE + +[Data_2_7_2] +Comment= +Enabled=false +Name=Forward +Type=SIMPLE_ACTION_DATA + +[Data_2_7_2Actions] +ActionsCount=1 + +[Data_2_7_2Actions0] +DestinationWindow=2 +Input=Alt+Right +Type=KEYBOARD_INPUT + +[Data_2_7_2Conditions] +Comment= +ConditionsCount=0 + +[Data_2_7_2Triggers] +Comment=Gesture_triggers +TriggersCount=3 + +[Data_2_7_2Triggers0] +GesturePointData=0,0.0625,0,0,0.5,0.0625,0.0625,0,0.125,0.5,0.125,0.0625,0,0.25,0.5,0.1875,0.0625,0,0.375,0.5,0.25,0.0625,0,0.5,0.5,0.3125,0.0625,0,0.625,0.5,0.375,0.0625,0,0.75,0.5,0.4375,0.0625,0,0.875,0.5,0.5,0.0625,1,1,0.5,0.5625,0.0625,1,0.875,0.5,0.625,0.0625,1,0.75,0.5,0.6875,0.0625,1,0.625,0.5,0.75,0.0625,1,0.5,0.5,0.8125,0.0625,1,0.375,0.5,0.875,0.0625,1,0.25,0.5,0.9375,0.0625,1,0.125,0.5,1,0,0,0,0.5 +Type=GESTURE + +[Data_2_7_2Triggers1] +GesturePointData=0,0.0833333,0,0.5,0.5,0.0833333,0.0833333,0,0.625,0.5,0.166667,0.0833333,0,0.75,0.5,0.25,0.0833333,0,0.875,0.5,0.333333,0.0833333,1,1,0.5,0.416667,0.0833333,1,0.875,0.5,0.5,0.0833333,1,0.75,0.5,0.583333,0.0833333,1,0.625,0.5,0.666667,0.0833333,1,0.5,0.5,0.75,0.0833333,1,0.375,0.5,0.833333,0.0833333,1,0.25,0.5,0.916667,0.0833333,1,0.125,0.5,1,0,0,0,0.5 +Type=GESTURE + +[Data_2_7_2Triggers2] +GesturePointData=0,0.0833333,0,0,0.5,0.0833333,0.0833333,0,0.125,0.5,0.166667,0.0833333,0,0.25,0.5,0.25,0.0833333,0,0.375,0.5,0.333333,0.0833333,0,0.5,0.5,0.416667,0.0833333,0,0.625,0.5,0.5,0.0833333,0,0.75,0.5,0.583333,0.0833333,0,0.875,0.5,0.666667,0.0833333,1,1,0.5,0.75,0.0833333,1,0.875,0.5,0.833333,0.0833333,1,0.75,0.5,0.916667,0.0833333,1,0.625,0.5,1,0,0,0.5,0.5 +Type=GESTURE + +[Data_2_7_3] +Comment= +Enabled=false +Name=Up +Type=SIMPLE_ACTION_DATA + +[Data_2_7_3Actions] +ActionsCount=1 + +[Data_2_7_3Actions0] +DestinationWindow=2 +Input=Alt+Up +Type=KEYBOARD_INPUT + +[Data_2_7_3Conditions] +Comment= +ConditionsCount=0 + +[Data_2_7_3Triggers] +Comment=Gesture_triggers +TriggersCount=3 + +[Data_2_7_3Triggers0] +GesturePointData=0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1 +Type=GESTURE + +[Data_2_7_3Triggers1] +GesturePointData=0,0.0833333,-0.5,0.5,1,0.0833333,0.0833333,-0.5,0.5,0.875,0.166667,0.0833333,-0.5,0.5,0.75,0.25,0.0833333,-0.5,0.5,0.625,0.333333,0.0833333,-0.5,0.5,0.5,0.416667,0.0833333,-0.5,0.5,0.375,0.5,0.0833333,-0.5,0.5,0.25,0.583333,0.0833333,-0.5,0.5,0.125,0.666667,0.0833333,0.5,0.5,0,0.75,0.0833333,0.5,0.5,0.125,0.833333,0.0833333,0.5,0.5,0.25,0.916667,0.0833333,0.5,0.5,0.375,1,0,0,0.5,0.5 +Type=GESTURE + +[Data_2_7_3Triggers2] +GesturePointData=0,0.0833333,-0.5,0.5,0.5,0.0833333,0.0833333,-0.5,0.5,0.375,0.166667,0.0833333,-0.5,0.5,0.25,0.25,0.0833333,-0.5,0.5,0.125,0.333333,0.0833333,0.5,0.5,0,0.416667,0.0833333,0.5,0.5,0.125,0.5,0.0833333,0.5,0.5,0.25,0.583333,0.0833333,0.5,0.5,0.375,0.666667,0.0833333,0.5,0.5,0.5,0.75,0.0833333,0.5,0.5,0.625,0.833333,0.0833333,0.5,0.5,0.75,0.916667,0.0833333,0.5,0.5,0.875,1,0,0,0.5,1 +Type=GESTURE + +[Data_2_7_4] +Comment= +Enabled=false +Name=Reload +Type=SIMPLE_ACTION_DATA + +[Data_2_7_4Actions] +ActionsCount=1 + +[Data_2_7_4Actions0] +DestinationWindow=2 +Input=F5 +Type=KEYBOARD_INPUT + +[Data_2_7_4Conditions] +Comment= +ConditionsCount=0 + +[Data_2_7_4Triggers] +Comment=Gesture_triggers +TriggersCount=3 + +[Data_2_7_4Triggers0] +GesturePointData=0,0.03125,0,0,1,0.03125,0.03125,0,0.125,1,0.0625,0.03125,0,0.25,1,0.09375,0.03125,0,0.375,1,0.125,0.03125,0,0.5,1,0.15625,0.03125,0,0.625,1,0.1875,0.03125,0,0.75,1,0.21875,0.03125,0,0.875,1,0.25,0.03125,-0.5,1,1,0.28125,0.03125,-0.5,1,0.875,0.3125,0.03125,-0.5,1,0.75,0.34375,0.03125,-0.5,1,0.625,0.375,0.03125,-0.5,1,0.5,0.40625,0.03125,-0.5,1,0.375,0.4375,0.03125,-0.5,1,0.25,0.46875,0.03125,-0.5,1,0.125,0.5,0.03125,1,1,0,0.53125,0.03125,1,0.875,0,0.5625,0.03125,1,0.75,0,0.59375,0.03125,1,0.625,0,0.625,0.03125,1,0.5,0,0.65625,0.03125,1,0.375,0,0.6875,0.03125,1,0.25,0,0.71875,0.03125,1,0.125,0,0.75,0.03125,0.5,0,0,0.78125,0.03125,0.5,0,0.125,0.8125,0.03125,0.5,0,0.25,0.84375,0.03125,0.5,0,0.375,0.875,0.03125,0.5,0,0.5,0.90625,0.03125,0.5,0,0.625,0.9375,0.03125,0.5,0,0.75,0.96875,0.03125,0.5,0,0.875,1,0,0,0,1 +Type=GESTURE + +[Data_2_7_4Triggers1] +GesturePointData=0,0.0277778,0,0,1,0.0277778,0.0277778,0,0.125,1,0.0555556,0.0277778,0,0.25,1,0.0833333,0.0277778,0,0.375,1,0.111111,0.0277778,0,0.5,1,0.138889,0.0277778,0,0.625,1,0.166667,0.0277778,0,0.75,1,0.194444,0.0277778,0,0.875,1,0.222222,0.0277778,-0.5,1,1,0.25,0.0277778,-0.5,1,0.875,0.277778,0.0277778,-0.5,1,0.75,0.305556,0.0277778,-0.5,1,0.625,0.333333,0.0277778,-0.5,1,0.5,0.361111,0.0277778,-0.5,1,0.375,0.388889,0.0277778,-0.5,1,0.25,0.416667,0.0277778,-0.5,1,0.125,0.444444,0.0277778,1,1,0,0.472222,0.0277778,1,0.875,0,0.5,0.0277778,1,0.75,0,0.527778,0.0277778,1,0.625,0,0.555556,0.0277778,1,0.5,0,0.583333,0.0277778,1,0.375,0,0.611111,0.0277778,1,0.25,0,0.638889,0.0277778,1,0.125,0,0.666667,0.0277778,0.5,0,0,0.694444,0.0277778,0.5,0,0.125,0.722222,0.0277778,0.5,0,0.25,0.75,0.0277778,0.5,0,0.375,0.777778,0.0277778,0.5,0,0.5,0.805556,0.0277778,0.5,0,0.625,0.833333,0.0277778,0.5,0,0.75,0.861111,0.0277778,0.5,0,0.875,0.888889,0.0277778,0,0,1,0.916667,0.0277778,0,0.125,1,0.944444,0.0277778,0,0.25,1,0.972222,0.0277778,0,0.375,1,1,0,0,0.5,1 +Type=GESTURE + +[Data_2_7_4Triggers2] +GesturePointData=0,0.0277778,0.5,0,0.5,0.0277778,0.0277778,0.5,0,0.625,0.0555556,0.0277778,0.5,0,0.75,0.0833333,0.0277778,0.5,0,0.875,0.111111,0.0277778,0,0,1,0.138889,0.0277778,0,0.125,1,0.166667,0.0277778,0,0.25,1,0.194444,0.0277778,0,0.375,1,0.222222,0.0277778,0,0.5,1,0.25,0.0277778,0,0.625,1,0.277778,0.0277778,0,0.75,1,0.305556,0.0277778,0,0.875,1,0.333333,0.0277778,-0.5,1,1,0.361111,0.0277778,-0.5,1,0.875,0.388889,0.0277778,-0.5,1,0.75,0.416667,0.0277778,-0.5,1,0.625,0.444444,0.0277778,-0.5,1,0.5,0.472222,0.0277778,-0.5,1,0.375,0.5,0.0277778,-0.5,1,0.25,0.527778,0.0277778,-0.5,1,0.125,0.555556,0.0277778,1,1,0,0.583333,0.0277778,1,0.875,0,0.611111,0.0277778,1,0.75,0,0.638889,0.0277778,1,0.625,0,0.666667,0.0277778,1,0.5,0,0.694444,0.0277778,1,0.375,0,0.722222,0.0277778,1,0.25,0,0.75,0.0277778,1,0.125,0,0.777778,0.0277778,0.5,0,0,0.805556,0.0277778,0.5,0,0.125,0.833333,0.0277778,0.5,0,0.25,0.861111,0.0277778,0.5,0,0.375,0.888889,0.0277778,0.5,0,0.5,0.916667,0.0277778,0.5,0,0.625,0.944444,0.0277778,0.5,0,0.75,0.972222,0.0277778,0.5,0,0.875,1,0,0,0,1 +Type=GESTURE + +[Data_2_8] +Comment=After pressing Win+E (Tux+E) a WWW browser will be launched, and it will open http://www.kde.org . You may run all kind of commands you can run in minicli (Alt+F2). +Enabled=false +Name=Go to KDE Website +Type=SIMPLE_ACTION_DATA + +[Data_2_8Actions] +ActionsCount=1 + +[Data_2_8Actions0] +CommandURL=http://www.kde.org +Type=COMMAND_URL + +[Data_2_8Conditions] +Comment= +ConditionsCount=0 + +[Data_2_8Triggers] +Comment=Simple_action +TriggersCount=1 + +[Data_2_8Triggers0] +Key=Meta+E +Type=SHORTCUT +Uuid={bf8b97fe-76d0-4eae-b94e-0621bca569f8} + +[Data_3] +Comment=Basic Konqueror gestures. +DataCount=14 +Enabled=true +ImportId=konqueror_gestures_kde321 +Name=Konqueror Gestures +SystemGroup=0 +Type=ACTION_DATA_GROUP + +[Data_3Conditions] +Comment=Konqueror window +ConditionsCount=1 + +[Data_3Conditions0] +Type=ACTIVE_WINDOW + +[Data_3Conditions0Window] +Comment=Konqueror +WindowsCount=1 + +[Data_3Conditions0Window0] +Class=^konqueror\s +ClassType=3 +Comment=Konqueror +Role=konqueror-mainwindow#1 +RoleType=0 +Title=file:/ - Konqueror +TitleType=0 +Type=SIMPLE +WindowTypes=1 + +[Data_3_1] +Comment=Press, move left, release. +Enabled=true +Name=Back +Type=SIMPLE_ACTION_DATA + +[Data_3_10] +Comment=Opera-style: Press, move up, release.\nNOTE: Conflicts with 'New Tab', and as such is disabled by default. +Enabled=false +Name=Stop Loading +Type=SIMPLE_ACTION_DATA + +[Data_3_10Actions] +ActionsCount=1 + +[Data_3_10Actions0] +DestinationWindow=2 +Input=Escape\n +Type=KEYBOARD_INPUT + +[Data_3_10Conditions] +Comment= +ConditionsCount=0 + +[Data_3_10Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_10Triggers0] +GesturePointData=0,0.125,-0.5,0.5,1,0.125,0.125,-0.5,0.5,0.875,0.25,0.125,-0.5,0.5,0.75,0.375,0.125,-0.5,0.5,0.625,0.5,0.125,-0.5,0.5,0.5,0.625,0.125,-0.5,0.5,0.375,0.75,0.125,-0.5,0.5,0.25,0.875,0.125,-0.5,0.5,0.125,1,0,0,0.5,0 +Type=GESTURE + +[Data_3_11] +Comment=Going up in URL/directory structure.\nMozilla-style: Press, move up, move left, move up, release. +Enabled=true +Name=Up +Type=SIMPLE_ACTION_DATA + +[Data_3_11Actions] +ActionsCount=1 + +[Data_3_11Actions0] +DestinationWindow=2 +Input=Alt+Up +Type=KEYBOARD_INPUT + +[Data_3_11Conditions] +Comment= +ConditionsCount=0 + +[Data_3_11Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_11Triggers0] +GesturePointData=0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,1,1,0.5,0.3125,0.0625,1,0.875,0.5,0.375,0.0625,1,0.75,0.5,0.4375,0.0625,1,0.625,0.5,0.5,0.0625,1,0.5,0.5,0.5625,0.0625,1,0.375,0.5,0.625,0.0625,1,0.25,0.5,0.6875,0.0625,1,0.125,0.5,0.75,0.0625,-0.5,0,0.5,0.8125,0.0625,-0.5,0,0.375,0.875,0.0625,-0.5,0,0.25,0.9375,0.0625,-0.5,0,0.125,1,0,0,0,0 +Type=GESTURE + +[Data_3_12] +Comment=Going up in URL/directory structure.\nOpera-style: Press, move up, move left, move up, release.\nNOTE: Conflicts with "Activate Previous Tab", and as such is disabled by default. +Enabled=false +Name=Up #2 +Type=SIMPLE_ACTION_DATA + +[Data_3_12Actions] +ActionsCount=1 + +[Data_3_12Actions0] +DestinationWindow=2 +Input=Alt+Up\n +Type=KEYBOARD_INPUT + +[Data_3_12Conditions] +Comment= +ConditionsCount=0 + +[Data_3_12Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_12Triggers0] +GesturePointData=0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,-0.5,1,0.5,0.3125,0.0625,-0.5,1,0.375,0.375,0.0625,-0.5,1,0.25,0.4375,0.0625,-0.5,1,0.125,0.5,0.0625,1,1,0,0.5625,0.0625,1,0.875,0,0.625,0.0625,1,0.75,0,0.6875,0.0625,1,0.625,0,0.75,0.0625,1,0.5,0,0.8125,0.0625,1,0.375,0,0.875,0.0625,1,0.25,0,0.9375,0.0625,1,0.125,0,1,0,0,0,0 +Type=GESTURE + +[Data_3_13] +Comment=Press, move up, move right, release. +Enabled=true +Name=Activate Next Tab +Type=SIMPLE_ACTION_DATA + +[Data_3_13Actions] +ActionsCount=1 + +[Data_3_13Actions0] +DestinationWindow=2 +Input=Ctrl+.\n +Type=KEYBOARD_INPUT + +[Data_3_13Conditions] +Comment= +ConditionsCount=0 + +[Data_3_13Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_13Triggers0] +GesturePointData=0,0.0625,-0.5,0,1,0.0625,0.0625,-0.5,0,0.875,0.125,0.0625,-0.5,0,0.75,0.1875,0.0625,-0.5,0,0.625,0.25,0.0625,-0.5,0,0.5,0.3125,0.0625,-0.5,0,0.375,0.375,0.0625,-0.5,0,0.25,0.4375,0.0625,-0.5,0,0.125,0.5,0.0625,0,0,0,0.5625,0.0625,0,0.125,0,0.625,0.0625,0,0.25,0,0.6875,0.0625,0,0.375,0,0.75,0.0625,0,0.5,0,0.8125,0.0625,0,0.625,0,0.875,0.0625,0,0.75,0,0.9375,0.0625,0,0.875,0,1,0,0,1,0 +Type=GESTURE + +[Data_3_14] +Comment=Press, move up, move left, release. +Enabled=true +Name=Activate Previous Tab +Type=SIMPLE_ACTION_DATA + +[Data_3_14Actions] +ActionsCount=1 + +[Data_3_14Actions0] +DestinationWindow=2 +Input=Ctrl+, +Type=KEYBOARD_INPUT + +[Data_3_14Conditions] +Comment= +ConditionsCount=0 + +[Data_3_14Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_14Triggers0] +GesturePointData=0,0.0625,-0.5,1,1,0.0625,0.0625,-0.5,1,0.875,0.125,0.0625,-0.5,1,0.75,0.1875,0.0625,-0.5,1,0.625,0.25,0.0625,-0.5,1,0.5,0.3125,0.0625,-0.5,1,0.375,0.375,0.0625,-0.5,1,0.25,0.4375,0.0625,-0.5,1,0.125,0.5,0.0625,1,1,0,0.5625,0.0625,1,0.875,0,0.625,0.0625,1,0.75,0,0.6875,0.0625,1,0.625,0,0.75,0.0625,1,0.5,0,0.8125,0.0625,1,0.375,0,0.875,0.0625,1,0.25,0,0.9375,0.0625,1,0.125,0,1,0,0,0,0 +Type=GESTURE + +[Data_3_1Actions] +ActionsCount=1 + +[Data_3_1Actions0] +DestinationWindow=2 +Input=Alt+Left +Type=KEYBOARD_INPUT + +[Data_3_1Conditions] +Comment= +ConditionsCount=0 + +[Data_3_1Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_1Triggers0] +GesturePointData=0,0.125,1,1,0.5,0.125,0.125,1,0.875,0.5,0.25,0.125,1,0.75,0.5,0.375,0.125,1,0.625,0.5,0.5,0.125,1,0.5,0.5,0.625,0.125,1,0.375,0.5,0.75,0.125,1,0.25,0.5,0.875,0.125,1,0.125,0.5,1,0,0,0,0.5 +Type=GESTURE + +[Data_3_2] +Comment=Press, move down, move up, move down, release. +Enabled=true +Name=Duplicate Tab +Type=SIMPLE_ACTION_DATA + +[Data_3_2Actions] +ActionsCount=1 + +[Data_3_2Actions0] +DestinationWindow=2 +Input=Ctrl+Shift+D\n +Type=KEYBOARD_INPUT + +[Data_3_2Conditions] +Comment= +ConditionsCount=0 + +[Data_3_2Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_2Triggers0] +GesturePointData=0,0.0416667,0.5,0.5,0,0.0416667,0.0416667,0.5,0.5,0.125,0.0833333,0.0416667,0.5,0.5,0.25,0.125,0.0416667,0.5,0.5,0.375,0.166667,0.0416667,0.5,0.5,0.5,0.208333,0.0416667,0.5,0.5,0.625,0.25,0.0416667,0.5,0.5,0.75,0.291667,0.0416667,0.5,0.5,0.875,0.333333,0.0416667,-0.5,0.5,1,0.375,0.0416667,-0.5,0.5,0.875,0.416667,0.0416667,-0.5,0.5,0.75,0.458333,0.0416667,-0.5,0.5,0.625,0.5,0.0416667,-0.5,0.5,0.5,0.541667,0.0416667,-0.5,0.5,0.375,0.583333,0.0416667,-0.5,0.5,0.25,0.625,0.0416667,-0.5,0.5,0.125,0.666667,0.0416667,0.5,0.5,0,0.708333,0.0416667,0.5,0.5,0.125,0.75,0.0416667,0.5,0.5,0.25,0.791667,0.0416667,0.5,0.5,0.375,0.833333,0.0416667,0.5,0.5,0.5,0.875,0.0416667,0.5,0.5,0.625,0.916667,0.0416667,0.5,0.5,0.75,0.958333,0.0416667,0.5,0.5,0.875,1,0,0,0.5,1 +Type=GESTURE + +[Data_3_3] +Comment=Press, move down, move up, release. +Enabled=true +Name=Duplicate Window +Type=SIMPLE_ACTION_DATA + +[Data_3_3Actions] +ActionsCount=1 + +[Data_3_3Actions0] +DestinationWindow=2 +Input=Ctrl+D\n +Type=KEYBOARD_INPUT + +[Data_3_3Conditions] +Comment= +ConditionsCount=0 + +[Data_3_3Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_3Triggers0] +GesturePointData=0,0.0625,0.5,0.5,0,0.0625,0.0625,0.5,0.5,0.125,0.125,0.0625,0.5,0.5,0.25,0.1875,0.0625,0.5,0.5,0.375,0.25,0.0625,0.5,0.5,0.5,0.3125,0.0625,0.5,0.5,0.625,0.375,0.0625,0.5,0.5,0.75,0.4375,0.0625,0.5,0.5,0.875,0.5,0.0625,-0.5,0.5,1,0.5625,0.0625,-0.5,0.5,0.875,0.625,0.0625,-0.5,0.5,0.75,0.6875,0.0625,-0.5,0.5,0.625,0.75,0.0625,-0.5,0.5,0.5,0.8125,0.0625,-0.5,0.5,0.375,0.875,0.0625,-0.5,0.5,0.25,0.9375,0.0625,-0.5,0.5,0.125,1,0,0,0.5,0 +Type=GESTURE + +[Data_3_4] +Comment=Press, move right, release. +Enabled=true +Name=Forward +Type=SIMPLE_ACTION_DATA + +[Data_3_4Actions] +ActionsCount=1 + +[Data_3_4Actions0] +DestinationWindow=2 +Input=Alt+Right +Type=KEYBOARD_INPUT + +[Data_3_4Conditions] +Comment= +ConditionsCount=0 + +[Data_3_4Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_4Triggers0] +GesturePointData=0,0.125,0,0,0.5,0.125,0.125,0,0.125,0.5,0.25,0.125,0,0.25,0.5,0.375,0.125,0,0.375,0.5,0.5,0.125,0,0.5,0.5,0.625,0.125,0,0.625,0.5,0.75,0.125,0,0.75,0.5,0.875,0.125,0,0.875,0.5,1,0,0,1,0.5 +Type=GESTURE + +[Data_3_5] +Comment=Press, move down, move half up, move right, move down, release.\n(Drawing a lowercase 'h'.) +Enabled=true +Name=Home +Type=SIMPLE_ACTION_DATA + +[Data_3_5Actions] +ActionsCount=1 + +[Data_3_5Actions0] +DestinationWindow=2 +Input=Alt+Home\n +Type=KEYBOARD_INPUT + +[Data_3_5Conditions] +Comment= +ConditionsCount=0 + +[Data_3_5Triggers] +Comment=Gesture_triggers +TriggersCount=2 + +[Data_3_5Triggers0] +GesturePointData=0,0.0461748,0.5,0,0,0.0461748,0.0461748,0.5,0,0.125,0.0923495,0.0461748,0.5,0,0.25,0.138524,0.0461748,0.5,0,0.375,0.184699,0.0461748,0.5,0,0.5,0.230874,0.0461748,0.5,0,0.625,0.277049,0.0461748,0.5,0,0.75,0.323223,0.0461748,0.5,0,0.875,0.369398,0.065301,-0.25,0,1,0.434699,0.065301,-0.25,0.125,0.875,0.5,0.065301,-0.25,0.25,0.75,0.565301,0.065301,-0.25,0.375,0.625,0.630602,0.0461748,0,0.5,0.5,0.676777,0.0461748,0,0.625,0.5,0.722951,0.0461748,0,0.75,0.5,0.769126,0.0461748,0,0.875,0.5,0.815301,0.0461748,0.5,1,0.5,0.861476,0.0461748,0.5,1,0.625,0.90765,0.0461748,0.5,1,0.75,0.953825,0.0461748,0.5,1,0.875,1,0,0,1,1 +Type=GESTURE + +[Data_3_5Triggers1] +GesturePointData=0,0.0416667,0.5,0,0,0.0416667,0.0416667,0.5,0,0.125,0.0833333,0.0416667,0.5,0,0.25,0.125,0.0416667,0.5,0,0.375,0.166667,0.0416667,0.5,0,0.5,0.208333,0.0416667,0.5,0,0.625,0.25,0.0416667,0.5,0,0.75,0.291667,0.0416667,0.5,0,0.875,0.333333,0.0416667,-0.5,0,1,0.375,0.0416667,-0.5,0,0.875,0.416667,0.0416667,-0.5,0,0.75,0.458333,0.0416667,-0.5,0,0.625,0.5,0.0416667,0,0,0.5,0.541667,0.0416667,0,0.125,0.5,0.583333,0.0416667,0,0.25,0.5,0.625,0.0416667,0,0.375,0.5,0.666667,0.0416667,0,0.5,0.5,0.708333,0.0416667,0,0.625,0.5,0.75,0.0416667,0,0.75,0.5,0.791667,0.0416667,0,0.875,0.5,0.833333,0.0416667,0.5,1,0.5,0.875,0.0416667,0.5,1,0.625,0.916667,0.0416667,0.5,1,0.75,0.958333,0.0416667,0.5,1,0.875,1,0,0,1,1 +Type=GESTURE + +[Data_3_6] +Comment=Press, move right, move down, move right, release.\nMozilla-style: Press, move down, move right, release. +Enabled=true +Name=Close Tab +Type=SIMPLE_ACTION_DATA + +[Data_3_6Actions] +ActionsCount=1 + +[Data_3_6Actions0] +DestinationWindow=2 +Input=Ctrl+W\n +Type=KEYBOARD_INPUT + +[Data_3_6Conditions] +Comment= +ConditionsCount=0 + +[Data_3_6Triggers] +Comment=Gesture_triggers +TriggersCount=2 + +[Data_3_6Triggers0] +GesturePointData=0,0.0625,0,0,0,0.0625,0.0625,0,0.125,0,0.125,0.0625,0,0.25,0,0.1875,0.0625,0,0.375,0,0.25,0.0625,0.5,0.5,0,0.3125,0.0625,0.5,0.5,0.125,0.375,0.0625,0.5,0.5,0.25,0.4375,0.0625,0.5,0.5,0.375,0.5,0.0625,0.5,0.5,0.5,0.5625,0.0625,0.5,0.5,0.625,0.625,0.0625,0.5,0.5,0.75,0.6875,0.0625,0.5,0.5,0.875,0.75,0.0625,0,0.5,1,0.8125,0.0625,0,0.625,1,0.875,0.0625,0,0.75,1,0.9375,0.0625,0,0.875,1,1,0,0,1,1 +Type=GESTURE + +[Data_3_6Triggers1] +GesturePointData=0,0.0625,0.5,0,0,0.0625,0.0625,0.5,0,0.125,0.125,0.0625,0.5,0,0.25,0.1875,0.0625,0.5,0,0.375,0.25,0.0625,0.5,0,0.5,0.3125,0.0625,0.5,0,0.625,0.375,0.0625,0.5,0,0.75,0.4375,0.0625,0.5,0,0.875,0.5,0.0625,0,0,1,0.5625,0.0625,0,0.125,1,0.625,0.0625,0,0.25,1,0.6875,0.0625,0,0.375,1,0.75,0.0625,0,0.5,1,0.8125,0.0625,0,0.625,1,0.875,0.0625,0,0.75,1,0.9375,0.0625,0,0.875,1,1,0,0,1,1 +Type=GESTURE + +[Data_3_7] +Comment=Press, move up, release.\nConflicts with Opera-style 'Up #2', which is disabled by default. +Enabled=true +Name=New Tab +Type=SIMPLE_ACTION_DATA + +[Data_3_7Actions] +ActionsCount=1 + +[Data_3_7Actions0] +DestinationWindow=2 +Input=Ctrl+Shift+N +Type=KEYBOARD_INPUT + +[Data_3_7Conditions] +Comment= +ConditionsCount=0 + +[Data_3_7Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_7Triggers0] +GesturePointData=0,0.125,-0.5,0.5,1,0.125,0.125,-0.5,0.5,0.875,0.25,0.125,-0.5,0.5,0.75,0.375,0.125,-0.5,0.5,0.625,0.5,0.125,-0.5,0.5,0.5,0.625,0.125,-0.5,0.5,0.375,0.75,0.125,-0.5,0.5,0.25,0.875,0.125,-0.5,0.5,0.125,1,0,0,0.5,0 +Type=GESTURE + +[Data_3_8] +Comment=Press, move down, release. +Enabled=true +Name=New Window +Type=SIMPLE_ACTION_DATA + +[Data_3_8Actions] +ActionsCount=1 + +[Data_3_8Actions0] +DestinationWindow=2 +Input=Ctrl+N\n +Type=KEYBOARD_INPUT + +[Data_3_8Conditions] +Comment= +ConditionsCount=0 + +[Data_3_8Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_8Triggers0] +GesturePointData=0,0.125,0.5,0.5,0,0.125,0.125,0.5,0.5,0.125,0.25,0.125,0.5,0.5,0.25,0.375,0.125,0.5,0.5,0.375,0.5,0.125,0.5,0.5,0.5,0.625,0.125,0.5,0.5,0.625,0.75,0.125,0.5,0.5,0.75,0.875,0.125,0.5,0.5,0.875,1,0,0,0.5,1 +Type=GESTURE + +[Data_3_9] +Comment=Press, move up, move down, release. +Enabled=true +Name=Reload +Type=SIMPLE_ACTION_DATA + +[Data_3_9Actions] +ActionsCount=1 + +[Data_3_9Actions0] +DestinationWindow=2 +Input=F5 +Type=KEYBOARD_INPUT + +[Data_3_9Conditions] +Comment= +ConditionsCount=0 + +[Data_3_9Triggers] +Comment=Gesture_triggers +TriggersCount=1 + +[Data_3_9Triggers0] +GesturePointData=0,0.0625,-0.5,0.5,1,0.0625,0.0625,-0.5,0.5,0.875,0.125,0.0625,-0.5,0.5,0.75,0.1875,0.0625,-0.5,0.5,0.625,0.25,0.0625,-0.5,0.5,0.5,0.3125,0.0625,-0.5,0.5,0.375,0.375,0.0625,-0.5,0.5,0.25,0.4375,0.0625,-0.5,0.5,0.125,0.5,0.0625,0.5,0.5,0,0.5625,0.0625,0.5,0.5,0.125,0.625,0.0625,0.5,0.5,0.25,0.6875,0.0625,0.5,0.5,0.375,0.75,0.0625,0.5,0.5,0.5,0.8125,0.0625,0.5,0.5,0.625,0.875,0.0625,0.5,0.5,0.75,0.9375,0.0625,0.5,0.5,0.875,1,0,0,0.5,1 +Type=GESTURE + +[Directories] +dir_pixmap[$d] + +[General] +BrowserApplication[$d] +desktopFont[$d] +fixed[$d] +font[$d] +menuFont[$d] +shadeSortColumn[$d] +smallestReadableFont[$d] +taskbarFont[$d] +toolBarFont[$d] + +[Gestures] +Disabled=true +MouseButton=2 +Timeout=300 + +[GesturesExclude] +Comment= +WindowsCount=0 + +[Icons] +Theme[$d] + +[KDE] +ChangeCursor[$d] +LookAndFeelPackage[$d] +contrast[$d] + +[KDE URL Restrictions] +rule_1[$d] +rule_count[$d] + +[KFileDialog Settings] +Breadcrumb Navigation[$d] + +[Main] +AlreadyImported=defaults,kde32b1,spectacle,konsole,konqueror_gestures_kde321 +Disabled=false +Version=2 + +[Paths] +Trash[$d] + +[PreviewSettings] +camera[$d] +file[$d] +fonts[$d] + +[Voice] +Shortcut= diff --git a/home/.config/kwinrc b/home/.config/kwinrc new file mode 100644 index 0000000..44de20f --- /dev/null +++ b/home/.config/kwinrc @@ -0,0 +1,133 @@ +[$Version] +update_info=kwin.upd:replace-scalein-with-scale,kwin.upd:port-minimizeanimation-effect-to-js,kwin.upd:port-scale-effect-to-js,kwin.upd:port-dimscreen-effect-to-js,kwin.upd:auto-bordersize,kwin.upd:animation-speed + +[Compositing] +AnimationSpeed[$d] +GLCore=true +GLPreferBufferSwap=a +GLTextureFilter=1 +HiddenPreviews=5 +OpenGLIsUnsafe=false +WindowsBlockCompositing=false +XRenderSmoothScale=false + +[Desktops] +Id_1=ac4c2095-68c8-4bb2-841a-42cf03cac1b3 +Id_10=34586101-3aaa-4d39-8f85-a4dc751e1ed6 +Id_11=b3fbbd62-e25b-4d5b-afe2-c35b7bafd6d5 +Id_12=7b78429b-4927-4360-8c11-970f92cd613c +Id_13=a736cc28-b2c9-41b3-9b0e-8aa7f4d80d8e +Id_14=d5baa737-2e9a-4c33-addc-7f2ea0ac821d +Id_15=977d9f48-62d2-4518-bbe1-d1fd52f27285 +Id_16=bd34bcac-6915-4ccb-876a-3d7bca5bec90 +Id_17=a5594210-f994-4c32-9388-8971426cba9e +Id_18=b9f43a33-c6cc-4c8e-b0c3-14a74be65f55 +Id_2=b054dc04-4057-4668-9d9a-3761101e1d42 +Id_3=ba5dba2e-e200-479e-a60f-615e0cf2edb7 +Id_4=ad40ba1b-598b-474b-896d-29fe791529bb +Id_5=b86a3a26-4c15-4615-9f2e-9c30b74d50bf +Id_6=bd9fb4c9-96d7-4a2a-9ee8-525765f3b26e +Id_7=1ae2e874-ab79-4cf6-87df-efcdb7b9a877 +Id_8=8c0e75c4-e55b-4197-a120-c0a4815bfb11 +Id_9=1c0c98cd-783d-4868-b659-149fed74340e +Name_10=New Desktop +Name_11=New Desktop +Name_12=New Desktop +Name_13=New Desktop +Name_14=New Desktop +Name_15=New Desktop +Name_16=New Desktop +Name_17=New Desktop +Name_18=New Desktop +Name_3=New Desktop +Name_4=New Desktop +Name_5=New Desktop +Name_6=New Desktop +Name_7=New Desktop +Name_8=New Desktop +Name_9=New Desktop +Number=18 +Rows=3 + +[DrmOutputs][05e0819458][4447eebfd4] +Scale=1 + +[DrmOutputs][05e0819458][cdfb932421] +Scale=1 + +[ElectricBorders] +TopLeft=None + +[MouseBindings] +CommandActiveTitlebar1=Raise +CommandActiveTitlebar2=Nothing +CommandActiveTitlebar3=Operations menu +CommandAll1=Move +CommandAll2=Toggle raise and lower +CommandAll3=Resize +CommandAllKey=Alt +CommandAllWheel=Nothing +CommandInactiveTitlebar1=Activate and raise +CommandInactiveTitlebar2=Nothing +CommandInactiveTitlebar3=Operations menu +CommandTitlebarWheel=Change Opacity +CommandWindow1=Activate, raise and pass click +CommandWindow2=Activate and pass click +CommandWindow3=Activate and pass click +CommandWindowWheel=Scroll + +[NightColor] +Active=true +LatitudeAuto=9.967 +LongitudeAuto=76.2917 + +[Plugins] +desktopchangeosdEnabled=false +mouseclickEnabled=true +mousemarkEnabled=true +windowgeometryEnabled=false + +[Script-desktopchangeosd] +PopupHideDelay=1000 +TextOnly=false + +[TabBox] +BorderActivate=9 +DesktopLayout=org.kde.breeze.desktop +DesktopListLayout=org.kde.breeze.desktop +LayoutName=org.kde.breeze.desktop + +[Windows] +ActiveMouseScreen=false +AutoRaise=false +AutoRaiseInterval=750 +BorderSnapZone=10 +CenterSnapZone=0 +ClickRaise=true +DelayFocusInterval=300 +FocusPolicy=ClickToFocus +FocusStealingPreventionLevel=1 +GeometryTip=false +HideUtilityWindowsForInactive=true +MaximizeButtonLeftClickCommand=Maximize +MaximizeButtonMiddleClickCommand=Maximize (vertical only) +MaximizeButtonRightClickCommand=Maximize (horizontal only) +NextFocusPrefersMouse=false +Placement=Smart +RollOverDesktops=false +SeparateScreenFocus=false +ShadeHover=false +ShadeHoverInterval=250 +SnapOnlyWhenOverlapping=false +TitlebarDoubleClickCommand=Maximize +WindowSnapZone=10 + +[org.kde.kdecoration2] +BorderSize=Normal +BorderSizeAuto=false +ButtonsOnLeft=MS +ButtonsOnRight=HIAX +CloseOnDoubleClickOnMenu=false +ShowToolTips=true +library=org.kde.breeze +theme=Breeze diff --git a/home/.config/nvim/UltiSnips/c.snippets b/home/.config/nvim/UltiSnips/c.snippets new file mode 100644 index 0000000..e69de29 diff --git a/home/.config/nvim/UltiSnips/javascript.snippets b/home/.config/nvim/UltiSnips/javascript.snippets new file mode 100644 index 0000000..0f803af --- /dev/null +++ b/home/.config/nvim/UltiSnips/javascript.snippets @@ -0,0 +1,11 @@ +snippet ok +Object.keys(${1}); +endsnippet + +snippet c +const $1 = require('${2:$1}'); +endsnippet + +snippet v +var $1 = require('${2:$1}'); +endsnippet diff --git a/home/.config/nvim/UltiSnips/snippets.snippets b/home/.config/nvim/UltiSnips/snippets.snippets new file mode 100644 index 0000000..62ee50b --- /dev/null +++ b/home/.config/nvim/UltiSnips/snippets.snippets @@ -0,0 +1,4 @@ +snippet sn +snippet ${1:snip1} +${2}endsnippet +endsnippet diff --git a/home/.config/nvim/colors/gruvbox.vim b/home/.config/nvim/colors/gruvbox.vim new file mode 100644 index 0000000..66246fb --- /dev/null +++ b/home/.config/nvim/colors/gruvbox.vim @@ -0,0 +1,1418 @@ +" ----------------------------------------------------------------------------- +" File: gruvbox.vim +" Description: Retro groove color scheme for Vim +" Author: morhetz +" Source: https://github.com/morhetz/gruvbox +" Last Modified: 12 Aug 2017 +" ----------------------------------------------------------------------------- + +" Supporting code ------------------------------------------------------------- +" Initialisation: {{{ + +if version > 580 + hi clear + if exists("syntax_on") + syntax reset + endif +endif + +let g:colors_name='gruvbox' + +if !(has('termguicolors') && &termguicolors) && !has('gui_running') && &t_Co != 256 + finish +endif + +" }}} +" Global Settings: {{{ + +if !exists('g:gruvbox_bold') + let g:gruvbox_bold=1 +endif +if !exists('g:gruvbox_italic') + if has('gui_running') || $TERM_ITALICS == 'true' + let g:gruvbox_italic=1 + else + let g:gruvbox_italic=0 + endif +endif +if !exists('g:gruvbox_undercurl') + let g:gruvbox_undercurl=1 +endif +if !exists('g:gruvbox_underline') + let g:gruvbox_underline=1 +endif +if !exists('g:gruvbox_inverse') + let g:gruvbox_inverse=1 +endif + +if !exists('g:gruvbox_guisp_fallback') || index(['fg', 'bg'], g:gruvbox_guisp_fallback) == -1 + let g:gruvbox_guisp_fallback='NONE' +endif + +if !exists('g:gruvbox_improved_strings') + let g:gruvbox_improved_strings=0 +endif + +if !exists('g:gruvbox_improved_warnings') + let g:gruvbox_improved_warnings=0 +endif + +if !exists('g:gruvbox_termcolors') + let g:gruvbox_termcolors=256 +endif + +if !exists('g:gruvbox_invert_indent_guides') + let g:gruvbox_invert_indent_guides=0 +endif + +if exists('g:gruvbox_contrast') + echo 'g:gruvbox_contrast is deprecated; use g:gruvbox_contrast_light and g:gruvbox_contrast_dark instead' +endif + +if !exists('g:gruvbox_contrast_dark') + let g:gruvbox_contrast_dark='medium' +endif + +if !exists('g:gruvbox_contrast_light') + let g:gruvbox_contrast_light='medium' +endif + +let s:is_dark=(&background == 'dark') + +" }}} +" Palette: {{{ + +" setup palette dictionary +let s:gb = {} + +" fill it with absolute colors +let s:gb.dark0_hard = ['#1d2021', 234] " 29-32-33 +let s:gb.dark0 = ['#282828', 235] " 40-40-40 +let s:gb.dark0_soft = ['#32302f', 236] " 50-48-47 +let s:gb.dark1 = ['#3c3836', 237] " 60-56-54 +let s:gb.dark2 = ['#504945', 239] " 80-73-69 +let s:gb.dark3 = ['#665c54', 241] " 102-92-84 +let s:gb.dark4 = ['#7c6f64', 243] " 124-111-100 +let s:gb.dark4_256 = ['#7c6f64', 243] " 124-111-100 + +let s:gb.gray_245 = ['#928374', 245] " 146-131-116 +let s:gb.gray_244 = ['#928374', 244] " 146-131-116 + +let s:gb.light0_hard = ['#f9f5d7', 230] " 249-245-215 +let s:gb.light0 = ['#fbf1c7', 229] " 253-244-193 +let s:gb.light0_soft = ['#f2e5bc', 228] " 242-229-188 +let s:gb.light1 = ['#ebdbb2', 223] " 235-219-178 +let s:gb.light2 = ['#d5c4a1', 250] " 213-196-161 +let s:gb.light3 = ['#bdae93', 248] " 189-174-147 +let s:gb.light4 = ['#a89984', 246] " 168-153-132 +let s:gb.light4_256 = ['#a89984', 246] " 168-153-132 + +let s:gb.bright_red = ['#fb4934', 167] " 251-73-52 +let s:gb.bright_green = ['#b8bb26', 142] " 184-187-38 +let s:gb.bright_yellow = ['#fabd2f', 214] " 250-189-47 +let s:gb.bright_blue = ['#83a598', 109] " 131-165-152 +let s:gb.bright_purple = ['#d3869b', 175] " 211-134-155 +let s:gb.bright_aqua = ['#8ec07c', 108] " 142-192-124 +let s:gb.bright_orange = ['#fe8019', 208] " 254-128-25 + +let s:gb.neutral_red = ['#cc241d', 124] " 204-36-29 +let s:gb.neutral_green = ['#98971a', 106] " 152-151-26 +let s:gb.neutral_yellow = ['#d79921', 172] " 215-153-33 +let s:gb.neutral_blue = ['#458588', 66] " 69-133-136 +let s:gb.neutral_purple = ['#b16286', 132] " 177-98-134 +let s:gb.neutral_aqua = ['#689d6a', 72] " 104-157-106 +let s:gb.neutral_orange = ['#d65d0e', 166] " 214-93-14 + +let s:gb.faded_red = ['#9d0006', 88] " 157-0-6 +let s:gb.faded_green = ['#79740e', 100] " 121-116-14 +let s:gb.faded_yellow = ['#b57614', 136] " 181-118-20 +let s:gb.faded_blue = ['#076678', 24] " 7-102-120 +let s:gb.faded_purple = ['#8f3f71', 96] " 143-63-113 +let s:gb.faded_aqua = ['#427b58', 66] " 66-123-88 +let s:gb.faded_orange = ['#af3a03', 130] " 175-58-3 + +" }}} +" Setup Emphasis: {{{ + +let s:bold = 'bold,' +if g:gruvbox_bold == 0 + let s:bold = '' +endif + +let s:italic = 'italic,' +if g:gruvbox_italic == 0 + let s:italic = '' +endif + +let s:underline = 'underline,' +if g:gruvbox_underline == 0 + let s:underline = '' +endif + +let s:undercurl = 'undercurl,' +if g:gruvbox_undercurl == 0 + let s:undercurl = '' +endif + +let s:inverse = 'inverse,' +if g:gruvbox_inverse == 0 + let s:inverse = '' +endif + +" }}} +" Setup Colors: {{{ + +let s:vim_bg = ['bg', 'bg'] +let s:vim_fg = ['fg', 'fg'] +let s:none = ['NONE', 'NONE'] + +" determine relative colors +if s:is_dark + let s:bg0 = s:gb.dark0 + if g:gruvbox_contrast_dark == 'soft' + let s:bg0 = s:gb.dark0_soft + elseif g:gruvbox_contrast_dark == 'hard' + let s:bg0 = s:gb.dark0_hard + endif + + let s:bg1 = s:gb.dark1 + let s:bg2 = s:gb.dark2 + let s:bg3 = s:gb.dark3 + let s:bg4 = s:gb.dark4 + + let s:gray = s:gb.gray_245 + + let s:fg0 = s:gb.light0 + let s:fg1 = s:gb.light1 + let s:fg2 = s:gb.light2 + let s:fg3 = s:gb.light3 + let s:fg4 = s:gb.light4 + + let s:fg4_256 = s:gb.light4_256 + + let s:red = s:gb.bright_red + let s:green = s:gb.bright_green + let s:yellow = s:gb.bright_yellow + let s:blue = s:gb.bright_blue + let s:purple = s:gb.bright_purple + let s:aqua = s:gb.bright_aqua + let s:orange = s:gb.bright_orange +else + let s:bg0 = s:gb.light0 + if g:gruvbox_contrast_light == 'soft' + let s:bg0 = s:gb.light0_soft + elseif g:gruvbox_contrast_light == 'hard' + let s:bg0 = s:gb.light0_hard + endif + + let s:bg1 = s:gb.light1 + let s:bg2 = s:gb.light2 + let s:bg3 = s:gb.light3 + let s:bg4 = s:gb.light4 + + let s:gray = s:gb.gray_244 + + let s:fg0 = s:gb.dark0 + let s:fg1 = s:gb.dark1 + let s:fg2 = s:gb.dark2 + let s:fg3 = s:gb.dark3 + let s:fg4 = s:gb.dark4 + + let s:fg4_256 = s:gb.dark4_256 + + let s:red = s:gb.faded_red + let s:green = s:gb.faded_green + let s:yellow = s:gb.faded_yellow + let s:blue = s:gb.faded_blue + let s:purple = s:gb.faded_purple + let s:aqua = s:gb.faded_aqua + let s:orange = s:gb.faded_orange +endif + +" reset to 16 colors fallback +if g:gruvbox_termcolors == 16 + let s:bg0[1] = 0 + let s:fg4[1] = 7 + let s:gray[1] = 8 + let s:red[1] = 9 + let s:green[1] = 10 + let s:yellow[1] = 11 + let s:blue[1] = 12 + let s:purple[1] = 13 + let s:aqua[1] = 14 + let s:fg1[1] = 15 +endif + +" save current relative colors back to palette dictionary +let s:gb.bg0 = s:bg0 +let s:gb.bg1 = s:bg1 +let s:gb.bg2 = s:bg2 +let s:gb.bg3 = s:bg3 +let s:gb.bg4 = s:bg4 + +let s:gb.gray = s:gray + +let s:gb.fg0 = s:fg0 +let s:gb.fg1 = s:fg1 +let s:gb.fg2 = s:fg2 +let s:gb.fg3 = s:fg3 +let s:gb.fg4 = s:fg4 + +let s:gb.fg4_256 = s:fg4_256 + +let s:gb.red = s:red +let s:gb.green = s:green +let s:gb.yellow = s:yellow +let s:gb.blue = s:blue +let s:gb.purple = s:purple +let s:gb.aqua = s:aqua +let s:gb.orange = s:orange + +" }}} +" Setup Terminal Colors For Neovim: {{{ + +if has('nvim') + let g:terminal_color_0 = s:bg0[0] + let g:terminal_color_8 = s:gray[0] + + let g:terminal_color_1 = s:gb.neutral_red[0] + let g:terminal_color_9 = s:red[0] + + let g:terminal_color_2 = s:gb.neutral_green[0] + let g:terminal_color_10 = s:green[0] + + let g:terminal_color_3 = s:gb.neutral_yellow[0] + let g:terminal_color_11 = s:yellow[0] + + let g:terminal_color_4 = s:gb.neutral_blue[0] + let g:terminal_color_12 = s:blue[0] + + let g:terminal_color_5 = s:gb.neutral_purple[0] + let g:terminal_color_13 = s:purple[0] + + let g:terminal_color_6 = s:gb.neutral_aqua[0] + let g:terminal_color_14 = s:aqua[0] + + let g:terminal_color_7 = s:fg4[0] + let g:terminal_color_15 = s:fg1[0] +endif + +" }}} +" Overload Setting: {{{ + +let s:hls_cursor = s:orange +if exists('g:gruvbox_hls_cursor') + let s:hls_cursor = get(s:gb, g:gruvbox_hls_cursor) +endif + +let s:number_column = s:none +if exists('g:gruvbox_number_column') + let s:number_column = get(s:gb, g:gruvbox_number_column) +endif + +let s:sign_column = s:bg1 + +if exists('g:gitgutter_override_sign_column_highlight') && + \ g:gitgutter_override_sign_column_highlight == 1 + let s:sign_column = s:number_column +else + let g:gitgutter_override_sign_column_highlight = 0 + + if exists('g:gruvbox_sign_column') + let s:sign_column = get(s:gb, g:gruvbox_sign_column) + endif +endif + +let s:color_column = s:bg1 +if exists('g:gruvbox_color_column') + let s:color_column = get(s:gb, g:gruvbox_color_column) +endif + +let s:vert_split = s:bg0 +if exists('g:gruvbox_vert_split') + let s:vert_split = get(s:gb, g:gruvbox_vert_split) +endif + +let s:invert_signs = '' +if exists('g:gruvbox_invert_signs') + if g:gruvbox_invert_signs == 1 + let s:invert_signs = s:inverse + endif +endif + +let s:invert_selection = s:inverse +if exists('g:gruvbox_invert_selection') + if g:gruvbox_invert_selection == 0 + let s:invert_selection = '' + endif +endif + +let s:invert_tabline = '' +if exists('g:gruvbox_invert_tabline') + if g:gruvbox_invert_tabline == 1 + let s:invert_tabline = s:inverse + endif +endif + +let s:italicize_comments = s:italic +if exists('g:gruvbox_italicize_comments') + if g:gruvbox_italicize_comments == 0 + let s:italicize_comments = '' + endif +endif + +let s:italicize_strings = '' +if exists('g:gruvbox_italicize_strings') + if g:gruvbox_italicize_strings == 1 + let s:italicize_strings = s:italic + endif +endif + +" }}} +" Highlighting Function: {{{ + +function! s:HL(group, fg, ...) + " Arguments: group, guifg, guibg, gui, guisp + + " foreground + let fg = a:fg + + " background + if a:0 >= 1 + let bg = a:1 + else + let bg = s:none + endif + + " emphasis + if a:0 >= 2 && strlen(a:2) + let emstr = a:2 + else + let emstr = 'NONE,' + endif + + " special fallback + if a:0 >= 3 + if g:gruvbox_guisp_fallback != 'NONE' + let fg = a:3 + endif + + " bg fallback mode should invert higlighting + if g:gruvbox_guisp_fallback == 'bg' + let emstr .= 'inverse,' + endif + endif + + let histring = [ 'hi', a:group, + \ 'guifg=' . fg[0], 'ctermfg=' . fg[1], + \ 'guibg=' . bg[0], 'ctermbg=' . bg[1], + \ 'gui=' . emstr[:-2], 'cterm=' . emstr[:-2] + \ ] + + " special + if a:0 >= 3 + call add(histring, 'guisp=' . a:3[0]) + endif + + execute join(histring, ' ') +endfunction + +" }}} +" Gruvbox Hi Groups: {{{ + +" memoize common hi groups +call s:HL('GruvboxFg0', s:fg0) +call s:HL('GruvboxFg1', s:fg1) +call s:HL('GruvboxFg2', s:fg2) +call s:HL('GruvboxFg3', s:fg3) +call s:HL('GruvboxFg4', s:fg4) +call s:HL('GruvboxGray', s:gray) +call s:HL('GruvboxBg0', s:bg0) +call s:HL('GruvboxBg1', s:bg1) +call s:HL('GruvboxBg2', s:bg2) +call s:HL('GruvboxBg3', s:bg3) +call s:HL('GruvboxBg4', s:bg4) + +call s:HL('GruvboxRed', s:red) +call s:HL('GruvboxRedBold', s:red, s:none, s:bold) +call s:HL('GruvboxGreen', s:green) +call s:HL('GruvboxGreenBold', s:green, s:none, s:bold) +call s:HL('GruvboxYellow', s:yellow) +call s:HL('GruvboxYellowBold', s:yellow, s:none, s:bold) +call s:HL('GruvboxBlue', s:blue) +call s:HL('GruvboxBlueBold', s:blue, s:none, s:bold) +call s:HL('GruvboxPurple', s:purple) +call s:HL('GruvboxPurpleBold', s:purple, s:none, s:bold) +call s:HL('GruvboxAqua', s:aqua) +call s:HL('GruvboxAquaBold', s:aqua, s:none, s:bold) +call s:HL('GruvboxOrange', s:orange) +call s:HL('GruvboxOrangeBold', s:orange, s:none, s:bold) + +call s:HL('GruvboxRedSign', s:red, s:sign_column, s:invert_signs) +call s:HL('GruvboxGreenSign', s:green, s:sign_column, s:invert_signs) +call s:HL('GruvboxYellowSign', s:yellow, s:sign_column, s:invert_signs) +call s:HL('GruvboxBlueSign', s:blue, s:sign_column, s:invert_signs) +call s:HL('GruvboxPurpleSign', s:purple, s:sign_column, s:invert_signs) +call s:HL('GruvboxAquaSign', s:aqua, s:sign_column, s:invert_signs) +call s:HL('GruvboxOrangeSign', s:orange, s:sign_column, s:invert_signs) + +" }}} + +" Vanilla colorscheme --------------------------------------------------------- +" General UI: {{{ + +" Normal text +call s:HL('Normal', s:fg1, s:bg0) + +" Correct background (see issue #7): +" --- Problem with changing between dark and light on 256 color terminal +" --- https://github.com/morhetz/gruvbox/issues/7 +if s:is_dark + set background=dark +else + set background=light +endif + +if version >= 700 + " Screen line that the cursor is + call s:HL('CursorLine', s:none, s:bg1) + " Screen column that the cursor is + hi! link CursorColumn CursorLine + + " Tab pages line filler + call s:HL('TabLineFill', s:bg4, s:bg1, s:invert_tabline) + " Active tab page label + call s:HL('TabLineSel', s:green, s:bg1, s:invert_tabline) + " Not active tab page label + hi! link TabLine TabLineFill + + " Match paired bracket under the cursor + call s:HL('MatchParen', s:none, s:bg3, s:bold) +endif + +if version >= 703 + " Highlighted screen columns + call s:HL('ColorColumn', s:none, s:color_column) + + " Concealed element: \lambda → λ + call s:HL('Conceal', s:blue, s:none) + + " Line number of CursorLine + call s:HL('CursorLineNr', s:yellow, s:bg1) +endif + +hi! link NonText GruvboxBg2 +hi! link SpecialKey GruvboxBg2 + +call s:HL('Visual', s:none, s:bg3, s:invert_selection) +hi! link VisualNOS Visual + +call s:HL('Search', s:yellow, s:bg0, s:inverse) +call s:HL('IncSearch', s:hls_cursor, s:bg0, s:inverse) + +call s:HL('Underlined', s:blue, s:none, s:underline) + +call s:HL('StatusLine', s:bg2, s:fg1, s:inverse) +call s:HL('StatusLineNC', s:bg1, s:fg4, s:inverse) + +" The column separating vertically split windows +call s:HL('VertSplit', s:bg3, s:vert_split) + +" Current match in wildmenu completion +call s:HL('WildMenu', s:blue, s:bg2, s:bold) + +" Directory names, special names in listing +hi! link Directory GruvboxGreenBold + +" Titles for output from :set all, :autocmd, etc. +hi! link Title GruvboxGreenBold + +" Error messages on the command line +call s:HL('ErrorMsg', s:bg0, s:red, s:bold) +" More prompt: -- More -- +hi! link MoreMsg GruvboxYellowBold +" Current mode message: -- INSERT -- +hi! link ModeMsg GruvboxYellowBold +" 'Press enter' prompt and yes/no questions +hi! link Question GruvboxOrangeBold +" Warning messages +hi! link WarningMsg GruvboxRedBold + +" }}} +" Gutter: {{{ + +" Line number for :number and :# commands +call s:HL('LineNr', s:bg4, s:number_column) + +" Column where signs are displayed +call s:HL('SignColumn', s:none, s:sign_column) + +" Line used for closed folds +call s:HL('Folded', s:gray, s:bg1, s:italic) +" Column where folds are displayed +call s:HL('FoldColumn', s:gray, s:bg1) + +" }}} +" Cursor: {{{ + +" Character under cursor +call s:HL('Cursor', s:none, s:none, s:inverse) +" Visual mode cursor, selection +hi! link vCursor Cursor +" Input moder cursor +hi! link iCursor Cursor +" Language mapping cursor +hi! link lCursor Cursor + +" }}} +" Syntax Highlighting: {{{ + +if g:gruvbox_improved_strings == 0 + hi! link Special GruvboxOrange +else + call s:HL('Special', s:orange, s:bg1, s:italicize_strings) +endif + +call s:HL('Comment', s:gray, s:none, s:italicize_comments) +call s:HL('Todo', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('Error', s:red, s:vim_bg, s:bold . s:inverse) + +" Generic statement +hi! link Statement GruvboxRed +" if, then, else, endif, swicth, etc. +hi! link Conditional GruvboxRed +" for, do, while, etc. +hi! link Repeat GruvboxRed +" case, default, etc. +hi! link Label GruvboxRed +" try, catch, throw +hi! link Exception GruvboxRed +" sizeof, "+", "*", etc. +hi! link Operator Normal +" Any other keyword +hi! link Keyword GruvboxRed + +" Variable name +hi! link Identifier GruvboxBlue +" Function name +hi! link Function GruvboxGreenBold + +" Generic preprocessor +hi! link PreProc GruvboxAqua +" Preprocessor #include +hi! link Include GruvboxAqua +" Preprocessor #define +hi! link Define GruvboxAqua +" Same as Define +hi! link Macro GruvboxAqua +" Preprocessor #if, #else, #endif, etc. +hi! link PreCondit GruvboxAqua + +" Generic constant +hi! link Constant GruvboxPurple +" Character constant: 'c', '/n' +hi! link Character GruvboxPurple +" String constant: "this is a string" +if g:gruvbox_improved_strings == 0 + call s:HL('String', s:green, s:none, s:italicize_strings) +else + call s:HL('String', s:fg1, s:bg1, s:italicize_strings) +endif +" Boolean constant: TRUE, false +hi! link Boolean GruvboxPurple +" Number constant: 234, 0xff +hi! link Number GruvboxPurple +" Floating point constant: 2.3e10 +hi! link Float GruvboxPurple + +" Generic type +hi! link Type GruvboxYellow +" static, register, volatile, etc +hi! link StorageClass GruvboxOrange +" struct, union, enum, etc. +hi! link Structure GruvboxAqua +" typedef +hi! link Typedef GruvboxYellow + +" }}} +" Completion Menu: {{{ + +if version >= 700 + " Popup menu: normal item + call s:HL('Pmenu', s:fg1, s:bg2) + " Popup menu: selected item + call s:HL('PmenuSel', s:bg2, s:blue, s:bold) + " Popup menu: scrollbar + call s:HL('PmenuSbar', s:none, s:bg2) + " Popup menu: scrollbar thumb + call s:HL('PmenuThumb', s:none, s:bg4) +endif + +" }}} +" Diffs: {{{ + +call s:HL('DiffDelete', s:red, s:bg0, s:inverse) +call s:HL('DiffAdd', s:green, s:bg0, s:inverse) +"call s:HL('DiffChange', s:bg0, s:blue) +"call s:HL('DiffText', s:bg0, s:yellow) + +" Alternative setting +call s:HL('DiffChange', s:aqua, s:bg0, s:inverse) +call s:HL('DiffText', s:yellow, s:bg0, s:inverse) + +" }}} +" Spelling: {{{ + +if has("spell") + " Not capitalised word, or compile warnings + if g:gruvbox_improved_warnings == 0 + call s:HL('SpellCap', s:none, s:none, s:undercurl, s:red) + else + call s:HL('SpellCap', s:green, s:none, s:bold . s:italic) + endif + " Not recognized word + call s:HL('SpellBad', s:none, s:none, s:undercurl, s:blue) + " Wrong spelling for selected region + call s:HL('SpellLocal', s:none, s:none, s:undercurl, s:aqua) + " Rare word + call s:HL('SpellRare', s:none, s:none, s:undercurl, s:purple) +endif + +" }}} + +" Plugin specific ------------------------------------------------------------- +" EasyMotion: {{{ + +hi! link EasyMotionTarget Search +hi! link EasyMotionShade Comment + +" }}} +" Sneak: {{{ + +hi! link Sneak Search +hi! link SneakLabel Search + +" }}} +" Indent Guides: {{{ + +if !exists('g:indent_guides_auto_colors') + let g:indent_guides_auto_colors = 0 +endif + +if g:indent_guides_auto_colors == 0 + if g:gruvbox_invert_indent_guides == 0 + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg1) + else + call s:HL('IndentGuidesOdd', s:vim_bg, s:bg2, s:inverse) + call s:HL('IndentGuidesEven', s:vim_bg, s:bg3, s:inverse) + endif +endif + +" }}} +" IndentLine: {{{ + +if !exists('g:indentLine_color_term') + let g:indentLine_color_term = s:bg2[1] +endif +if !exists('g:indentLine_color_gui') + let g:indentLine_color_gui = s:bg2[0] +endif + +" }}} +" Rainbow Parentheses: {{{ + +if !exists('g:rbpt_colorpairs') + let g:rbpt_colorpairs = + \ [ + \ ['blue', '#458588'], ['magenta', '#b16286'], + \ ['red', '#cc241d'], ['166', '#d65d0e'] + \ ] +endif + +let g:rainbow_guifgs = [ '#d65d0e', '#cc241d', '#b16286', '#458588' ] +let g:rainbow_ctermfgs = [ '166', 'red', 'magenta', 'blue' ] + +if !exists('g:rainbow_conf') + let g:rainbow_conf = {} +endif +if !has_key(g:rainbow_conf, 'guifgs') + let g:rainbow_conf['guifgs'] = g:rainbow_guifgs +endif +if !has_key(g:rainbow_conf, 'ctermfgs') + let g:rainbow_conf['ctermfgs'] = g:rainbow_ctermfgs +endif + +let g:niji_dark_colours = g:rbpt_colorpairs +let g:niji_light_colours = g:rbpt_colorpairs + +"}}} +" GitGutter: {{{ + +hi! link GitGutterAdd GruvboxGreenSign +hi! link GitGutterChange GruvboxAquaSign +hi! link GitGutterDelete GruvboxRedSign +hi! link GitGutterChangeDelete GruvboxAquaSign + +" }}} +" GitCommit: "{{{ + +hi! link gitcommitSelectedFile GruvboxGreen +hi! link gitcommitDiscardedFile GruvboxRed + +" }}} +" Signify: {{{ + +hi! link SignifySignAdd GruvboxGreenSign +hi! link SignifySignChange GruvboxAquaSign +hi! link SignifySignDelete GruvboxRedSign + +" }}} +" Syntastic: {{{ + +call s:HL('SyntasticError', s:none, s:none, s:undercurl, s:red) +call s:HL('SyntasticWarning', s:none, s:none, s:undercurl, s:yellow) + +hi! link SyntasticErrorSign GruvboxRedSign +hi! link SyntasticWarningSign GruvboxYellowSign + +" }}} +" Signature: {{{ +hi! link SignatureMarkText GruvboxBlueSign +hi! link SignatureMarkerText GruvboxPurpleSign + +" }}} +" ShowMarks: {{{ + +hi! link ShowMarksHLl GruvboxBlueSign +hi! link ShowMarksHLu GruvboxBlueSign +hi! link ShowMarksHLo GruvboxBlueSign +hi! link ShowMarksHLm GruvboxBlueSign + +" }}} +" CtrlP: {{{ + +hi! link CtrlPMatch GruvboxYellow +hi! link CtrlPNoEntries GruvboxRed +hi! link CtrlPPrtBase GruvboxBg2 +hi! link CtrlPPrtCursor GruvboxBlue +hi! link CtrlPLinePre GruvboxBg2 + +call s:HL('CtrlPMode1', s:blue, s:bg2, s:bold) +call s:HL('CtrlPMode2', s:bg0, s:blue, s:bold) +call s:HL('CtrlPStats', s:fg4, s:bg2, s:bold) + +" }}} +" Startify: {{{ + +hi! link StartifyBracket GruvboxFg3 +hi! link StartifyFile GruvboxFg1 +hi! link StartifyNumber GruvboxBlue +hi! link StartifyPath GruvboxGray +hi! link StartifySlash GruvboxGray +hi! link StartifySection GruvboxYellow +hi! link StartifySpecial GruvboxBg2 +hi! link StartifyHeader GruvboxOrange +hi! link StartifyFooter GruvboxBg2 + +" }}} +" Vimshell: {{{ + +let g:vimshell_escape_colors = [ + \ s:bg4[0], s:red[0], s:green[0], s:yellow[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg4[0], + \ s:bg0[0], s:red[0], s:green[0], s:orange[0], + \ s:blue[0], s:purple[0], s:aqua[0], s:fg0[0] + \ ] + +" }}} +" BufTabLine: {{{ + +call s:HL('BufTabLineCurrent', s:bg0, s:fg4) +call s:HL('BufTabLineActive', s:fg4, s:bg2) +call s:HL('BufTabLineHidden', s:bg4, s:bg1) +call s:HL('BufTabLineFill', s:bg0, s:bg0) + +" }}} +" Asynchronous Lint Engine: {{{ + +call s:HL('ALEError', s:none, s:none, s:undercurl, s:red) +call s:HL('ALEWarning', s:none, s:none, s:undercurl, s:yellow) +call s:HL('ALEInfo', s:none, s:none, s:undercurl, s:blue) + +hi! link ALEErrorSign GruvboxRedSign +hi! link ALEWarningSign GruvboxYellowSign +hi! link ALEInfoSign GruvboxBlueSign + +" }}} +" Dirvish: {{{ + +hi! link DirvishPathTail GruvboxAqua +hi! link DirvishArg GruvboxYellow + +" }}} +" Netrw: {{{ + +hi! link netrwDir GruvboxAqua +hi! link netrwClassify GruvboxAqua +hi! link netrwLink GruvboxGray +hi! link netrwSymLink GruvboxFg1 +hi! link netrwExe GruvboxYellow +hi! link netrwComment GruvboxGray +hi! link netrwList GruvboxBlue +hi! link netrwHelpCmd GruvboxAqua +hi! link netrwCmdSep GruvboxFg3 +hi! link netrwVersion GruvboxGreen + +" }}} +" NERDTree: {{{ + +hi! link NERDTreeDir GruvboxAqua +hi! link NERDTreeDirSlash GruvboxAqua + +hi! link NERDTreeOpenable GruvboxOrange +hi! link NERDTreeClosable GruvboxOrange + +hi! link NERDTreeFile GruvboxFg1 +hi! link NERDTreeExecFile GruvboxYellow + +hi! link NERDTreeUp GruvboxGray +hi! link NERDTreeCWD GruvboxGreen +hi! link NERDTreeHelp GruvboxFg1 + +hi! link NERDTreeToggleOn GruvboxGreen +hi! link NERDTreeToggleOff GruvboxRed + +" }}} +" Vim Multiple Cursors: {{{ + +call s:HL('multiple_cursors_cursor', s:none, s:none, s:inverse) +call s:HL('multiple_cursors_visual', s:none, s:bg2) + +" }}} +" coc.nvim: {{{ + +hi! link CocErrorSign GruvboxRedSign +hi! link CocWarningSign GruvboxOrangeSign +hi! link CocInfoSign GruvboxYellowSign +hi! link CocHintSign GruvboxBlueSign +hi! link CocErrorFloat GruvboxRed +hi! link CocWarningFloat GruvboxOrange +hi! link CocInfoFloat GruvboxYellow +hi! link CocHintFloat GruvboxBlue +hi! link CocDiagnosticsError GruvboxRed +hi! link CocDiagnosticsWarning GruvboxOrange +hi! link CocDiagnosticsInfo GruvboxYellow +hi! link CocDiagnosticsHint GruvboxBlue + +hi! link CocSelectedText GruvboxRed +hi! link CocCodeLens GruvboxGray + +call s:HL('CocErrorHighlight', s:none, s:none, s:undercurl, s:red) +call s:HL('CocWarningHighlight', s:none, s:none, s:undercurl, s:orange) +call s:HL('CocInfoHighlight', s:none, s:none, s:undercurl, s:yellow) +call s:HL('CocHintHighlight', s:none, s:none, s:undercurl, s:blue) + +" }}} + +" Filetype specific ----------------------------------------------------------- +" Diff: {{{ + +hi! link diffAdded GruvboxGreen +hi! link diffRemoved GruvboxRed +hi! link diffChanged GruvboxAqua + +hi! link diffFile GruvboxOrange +hi! link diffNewFile GruvboxYellow + +hi! link diffLine GruvboxBlue + +" }}} +" Html: {{{ + +hi! link htmlTag GruvboxBlue +hi! link htmlEndTag GruvboxBlue + +hi! link htmlTagName GruvboxAquaBold +hi! link htmlArg GruvboxAqua + +hi! link htmlScriptTag GruvboxPurple +hi! link htmlTagN GruvboxFg1 +hi! link htmlSpecialTagName GruvboxAquaBold + +call s:HL('htmlLink', s:fg4, s:none, s:underline) + +hi! link htmlSpecialChar GruvboxOrange + +call s:HL('htmlBold', s:vim_fg, s:vim_bg, s:bold) +call s:HL('htmlBoldUnderline', s:vim_fg, s:vim_bg, s:bold . s:underline) +call s:HL('htmlBoldItalic', s:vim_fg, s:vim_bg, s:bold . s:italic) +call s:HL('htmlBoldUnderlineItalic', s:vim_fg, s:vim_bg, s:bold . s:underline . s:italic) + +call s:HL('htmlUnderline', s:vim_fg, s:vim_bg, s:underline) +call s:HL('htmlUnderlineItalic', s:vim_fg, s:vim_bg, s:underline . s:italic) +call s:HL('htmlItalic', s:vim_fg, s:vim_bg, s:italic) + +" }}} +" Xml: {{{ + +hi! link xmlTag GruvboxBlue +hi! link xmlEndTag GruvboxBlue +hi! link xmlTagName GruvboxBlue +hi! link xmlEqual GruvboxBlue +hi! link docbkKeyword GruvboxAquaBold + +hi! link xmlDocTypeDecl GruvboxGray +hi! link xmlDocTypeKeyword GruvboxPurple +hi! link xmlCdataStart GruvboxGray +hi! link xmlCdataCdata GruvboxPurple +hi! link dtdFunction GruvboxGray +hi! link dtdTagName GruvboxPurple + +hi! link xmlAttrib GruvboxAqua +hi! link xmlProcessingDelim GruvboxGray +hi! link dtdParamEntityPunct GruvboxGray +hi! link dtdParamEntityDPunct GruvboxGray +hi! link xmlAttribPunct GruvboxGray + +hi! link xmlEntity GruvboxOrange +hi! link xmlEntityPunct GruvboxOrange +" }}} +" Vim: {{{ + +call s:HL('vimCommentTitle', s:fg4_256, s:none, s:bold . s:italicize_comments) + +hi! link vimNotation GruvboxOrange +hi! link vimBracket GruvboxOrange +hi! link vimMapModKey GruvboxOrange +hi! link vimFuncSID GruvboxFg3 +hi! link vimSetSep GruvboxFg3 +hi! link vimSep GruvboxFg3 +hi! link vimContinue GruvboxFg3 + +" }}} +" Clojure: {{{ + +hi! link clojureKeyword GruvboxBlue +hi! link clojureCond GruvboxOrange +hi! link clojureSpecial GruvboxOrange +hi! link clojureDefine GruvboxOrange + +hi! link clojureFunc GruvboxYellow +hi! link clojureRepeat GruvboxYellow +hi! link clojureCharacter GruvboxAqua +hi! link clojureStringEscape GruvboxAqua +hi! link clojureException GruvboxRed + +hi! link clojureRegexp GruvboxAqua +hi! link clojureRegexpEscape GruvboxAqua +call s:HL('clojureRegexpCharClass', s:fg3, s:none, s:bold) +hi! link clojureRegexpMod clojureRegexpCharClass +hi! link clojureRegexpQuantifier clojureRegexpCharClass + +hi! link clojureParen GruvboxFg3 +hi! link clojureAnonArg GruvboxYellow +hi! link clojureVariable GruvboxBlue +hi! link clojureMacro GruvboxOrange + +hi! link clojureMeta GruvboxYellow +hi! link clojureDeref GruvboxYellow +hi! link clojureQuote GruvboxYellow +hi! link clojureUnquote GruvboxYellow + +" }}} +" C: {{{ + +hi! link cOperator GruvboxPurple +hi! link cStructure GruvboxOrange + +" }}} +" Python: {{{ + +hi! link pythonBuiltin GruvboxOrange +hi! link pythonBuiltinObj GruvboxOrange +hi! link pythonBuiltinFunc GruvboxOrange +hi! link pythonFunction GruvboxAqua +hi! link pythonDecorator GruvboxRed +hi! link pythonInclude GruvboxBlue +hi! link pythonImport GruvboxBlue +hi! link pythonRun GruvboxBlue +hi! link pythonCoding GruvboxBlue +hi! link pythonOperator GruvboxRed +hi! link pythonException GruvboxRed +hi! link pythonExceptions GruvboxPurple +hi! link pythonBoolean GruvboxPurple +hi! link pythonDot GruvboxFg3 +hi! link pythonConditional GruvboxRed +hi! link pythonRepeat GruvboxRed +hi! link pythonDottedName GruvboxGreenBold + +" }}} +" CSS: {{{ + +hi! link cssBraces GruvboxBlue +hi! link cssFunctionName GruvboxYellow +hi! link cssIdentifier GruvboxOrange +hi! link cssClassName GruvboxGreen +hi! link cssColor GruvboxBlue +hi! link cssSelectorOp GruvboxBlue +hi! link cssSelectorOp2 GruvboxBlue +hi! link cssImportant GruvboxGreen +hi! link cssVendor GruvboxFg1 + +hi! link cssTextProp GruvboxAqua +hi! link cssAnimationProp GruvboxAqua +hi! link cssUIProp GruvboxYellow +hi! link cssTransformProp GruvboxAqua +hi! link cssTransitionProp GruvboxAqua +hi! link cssPrintProp GruvboxAqua +hi! link cssPositioningProp GruvboxYellow +hi! link cssBoxProp GruvboxAqua +hi! link cssFontDescriptorProp GruvboxAqua +hi! link cssFlexibleBoxProp GruvboxAqua +hi! link cssBorderOutlineProp GruvboxAqua +hi! link cssBackgroundProp GruvboxAqua +hi! link cssMarginProp GruvboxAqua +hi! link cssListProp GruvboxAqua +hi! link cssTableProp GruvboxAqua +hi! link cssFontProp GruvboxAqua +hi! link cssPaddingProp GruvboxAqua +hi! link cssDimensionProp GruvboxAqua +hi! link cssRenderProp GruvboxAqua +hi! link cssColorProp GruvboxAqua +hi! link cssGeneratedContentProp GruvboxAqua + +" }}} +" JavaScript: {{{ + +hi! link javaScriptBraces GruvboxFg1 +hi! link javaScriptFunction GruvboxAqua +hi! link javaScriptIdentifier GruvboxRed +hi! link javaScriptMember GruvboxBlue +hi! link javaScriptNumber GruvboxPurple +hi! link javaScriptNull GruvboxPurple +hi! link javaScriptParens GruvboxFg3 + +" }}} +" YAJS: {{{ + +hi! link javascriptImport GruvboxAqua +hi! link javascriptExport GruvboxAqua +hi! link javascriptClassKeyword GruvboxAqua +hi! link javascriptClassExtends GruvboxAqua +hi! link javascriptDefault GruvboxAqua + +hi! link javascriptClassName GruvboxYellow +hi! link javascriptClassSuperName GruvboxYellow +hi! link javascriptGlobal GruvboxYellow + +hi! link javascriptEndColons GruvboxFg1 +hi! link javascriptFuncArg GruvboxFg1 +hi! link javascriptGlobalMethod GruvboxFg1 +hi! link javascriptNodeGlobal GruvboxFg1 +hi! link javascriptBOMWindowProp GruvboxFg1 +hi! link javascriptArrayMethod GruvboxFg1 +hi! link javascriptArrayStaticMethod GruvboxFg1 +hi! link javascriptCacheMethod GruvboxFg1 +hi! link javascriptDateMethod GruvboxFg1 +hi! link javascriptMathStaticMethod GruvboxFg1 + +" hi! link javascriptProp GruvboxFg1 +hi! link javascriptURLUtilsProp GruvboxFg1 +hi! link javascriptBOMNavigatorProp GruvboxFg1 +hi! link javascriptDOMDocMethod GruvboxFg1 +hi! link javascriptDOMDocProp GruvboxFg1 +hi! link javascriptBOMLocationMethod GruvboxFg1 +hi! link javascriptBOMWindowMethod GruvboxFg1 +hi! link javascriptStringMethod GruvboxFg1 + +hi! link javascriptVariable GruvboxOrange +" hi! link javascriptVariable GruvboxRed +" hi! link javascriptIdentifier GruvboxOrange +" hi! link javascriptClassSuper GruvboxOrange +hi! link javascriptIdentifier GruvboxOrange +hi! link javascriptClassSuper GruvboxOrange + +" hi! link javascriptFuncKeyword GruvboxOrange +" hi! link javascriptAsyncFunc GruvboxOrange +hi! link javascriptFuncKeyword GruvboxAqua +hi! link javascriptAsyncFunc GruvboxAqua +hi! link javascriptClassStatic GruvboxOrange + +hi! link javascriptOperator GruvboxRed +hi! link javascriptForOperator GruvboxRed +hi! link javascriptYield GruvboxRed +hi! link javascriptExceptions GruvboxRed +hi! link javascriptMessage GruvboxRed + +hi! link javascriptTemplateSB GruvboxAqua +hi! link javascriptTemplateSubstitution GruvboxFg1 + +" hi! link javascriptLabel GruvboxBlue +" hi! link javascriptObjectLabel GruvboxBlue +" hi! link javascriptPropertyName GruvboxBlue +hi! link javascriptLabel GruvboxFg1 +hi! link javascriptObjectLabel GruvboxFg1 +hi! link javascriptPropertyName GruvboxFg1 + +hi! link javascriptLogicSymbols GruvboxFg1 +hi! link javascriptArrowFunc GruvboxYellow + +hi! link javascriptDocParamName GruvboxFg4 +hi! link javascriptDocTags GruvboxFg4 +hi! link javascriptDocNotation GruvboxFg4 +hi! link javascriptDocParamType GruvboxFg4 +hi! link javascriptDocNamedParamType GruvboxFg4 + +hi! link javascriptBrackets GruvboxFg1 +hi! link javascriptDOMElemAttrs GruvboxFg1 +hi! link javascriptDOMEventMethod GruvboxFg1 +hi! link javascriptDOMNodeMethod GruvboxFg1 +hi! link javascriptDOMStorageMethod GruvboxFg1 +hi! link javascriptHeadersMethod GruvboxFg1 + +hi! link javascriptAsyncFuncKeyword GruvboxRed +hi! link javascriptAwaitFuncKeyword GruvboxRed + +" }}} +" PanglossJS: {{{ + +hi! link jsClassKeyword GruvboxAqua +hi! link jsExtendsKeyword GruvboxAqua +hi! link jsExportDefault GruvboxAqua +hi! link jsTemplateBraces GruvboxAqua +hi! link jsGlobalNodeObjects GruvboxFg1 +hi! link jsGlobalObjects GruvboxFg1 +hi! link jsFunction GruvboxAqua +hi! link jsFuncParens GruvboxFg3 +hi! link jsParens GruvboxFg3 +hi! link jsNull GruvboxPurple +hi! link jsUndefined GruvboxPurple +hi! link jsClassDefinition GruvboxYellow + +" }}} +" TypeScript: {{{ + +hi! link typeScriptReserved GruvboxAqua +hi! link typeScriptLabel GruvboxAqua +hi! link typeScriptFuncKeyword GruvboxAqua +hi! link typeScriptIdentifier GruvboxOrange +hi! link typeScriptBraces GruvboxFg1 +hi! link typeScriptEndColons GruvboxFg1 +hi! link typeScriptDOMObjects GruvboxFg1 +hi! link typeScriptAjaxMethods GruvboxFg1 +hi! link typeScriptLogicSymbols GruvboxFg1 +hi! link typeScriptDocSeeTag Comment +hi! link typeScriptDocParam Comment +hi! link typeScriptDocTags vimCommentTitle +hi! link typeScriptGlobalObjects GruvboxFg1 +hi! link typeScriptParens GruvboxFg3 +hi! link typeScriptOpSymbols GruvboxFg3 +hi! link typeScriptHtmlElemProperties GruvboxFg1 +hi! link typeScriptNull GruvboxPurple +hi! link typeScriptInterpolationDelimiter GruvboxAqua + +" }}} +" PureScript: {{{ + +hi! link purescriptModuleKeyword GruvboxAqua +hi! link purescriptModuleName GruvboxFg1 +hi! link purescriptWhere GruvboxAqua +hi! link purescriptDelimiter GruvboxFg4 +hi! link purescriptType GruvboxFg1 +hi! link purescriptImportKeyword GruvboxAqua +hi! link purescriptHidingKeyword GruvboxAqua +hi! link purescriptAsKeyword GruvboxAqua +hi! link purescriptStructure GruvboxAqua +hi! link purescriptOperator GruvboxBlue + +hi! link purescriptTypeVar GruvboxFg1 +hi! link purescriptConstructor GruvboxFg1 +hi! link purescriptFunction GruvboxFg1 +hi! link purescriptConditional GruvboxOrange +hi! link purescriptBacktick GruvboxOrange + +" }}} +" CoffeeScript: {{{ + +hi! link coffeeExtendedOp GruvboxFg3 +hi! link coffeeSpecialOp GruvboxFg3 +hi! link coffeeCurly GruvboxOrange +hi! link coffeeParen GruvboxFg3 +hi! link coffeeBracket GruvboxOrange + +" }}} +" Ruby: {{{ + +hi! link rubyStringDelimiter GruvboxGreen +hi! link rubyInterpolationDelimiter GruvboxAqua + +" }}} +" ObjectiveC: {{{ + +hi! link objcTypeModifier GruvboxRed +hi! link objcDirective GruvboxBlue + +" }}} +" Go: {{{ + +hi! link goDirective GruvboxAqua +hi! link goConstants GruvboxPurple +hi! link goDeclaration GruvboxRed +hi! link goDeclType GruvboxBlue +hi! link goBuiltins GruvboxOrange + +" }}} +" Lua: {{{ + +hi! link luaIn GruvboxRed +hi! link luaFunction GruvboxAqua +hi! link luaTable GruvboxOrange + +" }}} +" MoonScript: {{{ + +hi! link moonSpecialOp GruvboxFg3 +hi! link moonExtendedOp GruvboxFg3 +hi! link moonFunction GruvboxFg3 +hi! link moonObject GruvboxYellow + +" }}} +" Java: {{{ + +hi! link javaAnnotation GruvboxBlue +hi! link javaDocTags GruvboxAqua +hi! link javaCommentTitle vimCommentTitle +hi! link javaParen GruvboxFg3 +hi! link javaParen1 GruvboxFg3 +hi! link javaParen2 GruvboxFg3 +hi! link javaParen3 GruvboxFg3 +hi! link javaParen4 GruvboxFg3 +hi! link javaParen5 GruvboxFg3 +hi! link javaOperator GruvboxOrange + +hi! link javaVarArg GruvboxGreen + +" }}} +" Elixir: {{{ + +hi! link elixirDocString Comment + +hi! link elixirStringDelimiter GruvboxGreen +hi! link elixirInterpolationDelimiter GruvboxAqua + +hi! link elixirModuleDeclaration GruvboxYellow + +" }}} +" Scala: {{{ + +" NB: scala vim syntax file is kinda horrible +hi! link scalaNameDefinition GruvboxFg1 +hi! link scalaCaseFollowing GruvboxFg1 +hi! link scalaCapitalWord GruvboxFg1 +hi! link scalaTypeExtension GruvboxFg1 + +hi! link scalaKeyword GruvboxRed +hi! link scalaKeywordModifier GruvboxRed + +hi! link scalaSpecial GruvboxAqua +hi! link scalaOperator GruvboxFg1 + +hi! link scalaTypeDeclaration GruvboxYellow +hi! link scalaTypeTypePostDeclaration GruvboxYellow + +hi! link scalaInstanceDeclaration GruvboxFg1 +hi! link scalaInterpolation GruvboxAqua + +" }}} +" Markdown: {{{ + +call s:HL('markdownItalic', s:fg3, s:none, s:italic) + +hi! link markdownH1 GruvboxGreenBold +hi! link markdownH2 GruvboxGreenBold +hi! link markdownH3 GruvboxYellowBold +hi! link markdownH4 GruvboxYellowBold +hi! link markdownH5 GruvboxYellow +hi! link markdownH6 GruvboxYellow + +hi! link markdownCode GruvboxAqua +hi! link markdownCodeBlock GruvboxAqua +hi! link markdownCodeDelimiter GruvboxAqua + +hi! link markdownBlockquote GruvboxGray +hi! link markdownListMarker GruvboxGray +hi! link markdownOrderedListMarker GruvboxGray +hi! link markdownRule GruvboxGray +hi! link markdownHeadingRule GruvboxGray + +hi! link markdownUrlDelimiter GruvboxFg3 +hi! link markdownLinkDelimiter GruvboxFg3 +hi! link markdownLinkTextDelimiter GruvboxFg3 + +hi! link markdownHeadingDelimiter GruvboxOrange +hi! link markdownUrl GruvboxPurple +hi! link markdownUrlTitleDelimiter GruvboxGreen + +call s:HL('markdownLinkText', s:gray, s:none, s:underline) +hi! link markdownIdDeclaration markdownLinkText + +" }}} +" Haskell: {{{ + +" hi! link haskellType GruvboxYellow +" hi! link haskellOperators GruvboxOrange +" hi! link haskellConditional GruvboxAqua +" hi! link haskellLet GruvboxOrange +" +hi! link haskellType GruvboxFg1 +hi! link haskellIdentifier GruvboxFg1 +hi! link haskellSeparator GruvboxFg1 +hi! link haskellDelimiter GruvboxFg4 +hi! link haskellOperators GruvboxBlue +" +hi! link haskellBacktick GruvboxOrange +hi! link haskellStatement GruvboxOrange +hi! link haskellConditional GruvboxOrange + +hi! link haskellLet GruvboxAqua +hi! link haskellDefault GruvboxAqua +hi! link haskellWhere GruvboxAqua +hi! link haskellBottom GruvboxAqua +hi! link haskellBlockKeywords GruvboxAqua +hi! link haskellImportKeywords GruvboxAqua +hi! link haskellDeclKeyword GruvboxAqua +hi! link haskellDeriving GruvboxAqua +hi! link haskellAssocType GruvboxAqua + +hi! link haskellNumber GruvboxPurple +hi! link haskellPragma GruvboxPurple + +hi! link haskellString GruvboxGreen +hi! link haskellChar GruvboxGreen + +" }}} +" Json: {{{ + +hi! link jsonKeyword GruvboxGreen +hi! link jsonQuote GruvboxGreen +hi! link jsonBraces GruvboxFg1 +hi! link jsonString GruvboxFg1 + +" }}} + + +" Functions ------------------------------------------------------------------- +" Search Highlighting Cursor {{{ + +function! GruvboxHlsShowCursor() + call s:HL('Cursor', s:bg0, s:hls_cursor) +endfunction + +function! GruvboxHlsHideCursor() + call s:HL('Cursor', s:none, s:none, s:inverse) +endfunction + +" }}} + +" vim: set sw=2 ts=2 sts=2 et tw=80 ft=vim fdm=marker: diff --git a/home/.config/nvim/init.vim b/home/.config/nvim/init.vim index a0a8b25..e459d83 100644 --- a/home/.config/nvim/init.vim +++ b/home/.config/nvim/init.vim @@ -48,9 +48,8 @@ let r_syntax_folding=1 " R let ruby_fold=1 " Ruby let sh_fold_enabled=1 " sh let vimsyn_folding='af' " Vim script -let $FZF_DEFAULT_COMMAND='ag -ig ""' +let $FZF_DEFAULT_COMMAND='ag -g ""' let g:gruvbox_contrast_dark = 'dark' -let g:netrw_browse_split = 2 au BufEnter *.js.ejs set ft=javascript.ejs au BufEnter *.dart set ft=dart @@ -109,9 +108,6 @@ set sessionoptions=blank,buffers,curdir,tabpages,winsize,resize,winpos " }}} -autocmd FileType go nmap p :GoFmt -let g:syntastic_go_checkers = ['gofmt'] - " for JavaScript syntax checking {{{ let g:syntastic_always_populate_loc_list = 1 let g:syntastic_javascript_checkers = ['eslint'] @@ -191,7 +187,6 @@ Plug 'ollykel/v-vim', { 'for': 'vlang' } Plug 'editorconfig/editorconfig-vim' Plug 'dart-lang/dart-vim-plugin', { 'for': 'dart' } Plug 'thosakwe/vim-flutter', { 'for': 'dart' } -Plug 'fatih/vim-go', { 'for': 'go', 'do': ':GoUpdateBinaries' } " } @@ -287,6 +282,9 @@ vmap gv imap " }}} +" Alt-q Delete current buffer ( Close file ) +nmap :bd + " '\\es' or 'es' Open vimrc in a new tab execute( 'nmap es :tabedit '. g:nvim_conf_root .'init.vim ' ) @@ -416,9 +414,6 @@ nmap g :!git gui & " -> Reload current file nmap :e! -" Alt-q Delete current buffer ( Close file ) -nmap :bd - " force Close buffer nmap :bd! @@ -430,7 +425,7 @@ vmap "fy/f " set guicursor=n-c:block,i-ci-ve:ver40,r-cr-v:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175 set termguicolors -" command! -register CopyMatches call CopyMatches() +command! -register CopyMatches call CopyMatches() command! -register -range=% Unretab ,call Unretab() " My custom commands {{{ diff --git a/home/.config/plasma-org.kde.plasma.desktop-appletsrc b/home/.config/plasma-org.kde.plasma.desktop-appletsrc new file mode 100644 index 0000000..44ee898 --- /dev/null +++ b/home/.config/plasma-org.kde.plasma.desktop-appletsrc @@ -0,0 +1,511 @@ +[ActionPlugins][0] +MidButton;NoModifier=org.kde.paste +RightButton;NoModifier=org.kde.contextmenu + +[ActionPlugins][0][RightButton;NoModifier] +_add panel=true +_context=true +_lock_screen=true +_logout=true +_run_command=true +_sep1=true +_sep2=true +_sep3=true +_wallpaper=true +add widgets=true +configure=true +configure shortcuts=false +edit mode=true +lock widgets=true +manage activities=true +remove=true +run associated application=true + +[ActionPlugins][1] +RightButton;NoModifier=org.kde.contextmenu + +[Containments][2] +activityId= +formfactor=2 +immutability=1 +lastScreen=2 +location=3 +plugin=org.kde.panel +wallpaperplugin=org.kde.image + +[Containments][2][Applets][17] +immutability=1 +plugin=org.kde.plasma.kimpanel + +[Containments][2][Applets][17][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][17][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][2][Applets][17][Shortcuts] +global= + +[Containments][2][Applets][19] +immutability=1 +plugin=org.kde.plasma.quicklaunch + +[Containments][2][Applets][19][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][19][Configuration][General] +launcherUrls=file:///usr/share/applications/geany.desktop,file:///usr/share/applications/systemsettings.desktop,file:///usr/share/applications/spacefm.desktop,file:///home/hari/.local/share/applications/nvim-konsole.desktop,file:///usr/share/applications/chromium-browser.desktop,file:///usr/share/applications/org.kde.ksysguard.desktop + +[Containments][2][Applets][20] +immutability=1 +plugin=org.kde.plasma.showdesktop + +[Containments][2][Applets][20][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][25][Configuration][General] +length=32 + +[Containments][2][Applets][3] +immutability=1 +plugin=org.kde.plasma.kickoff + +[Containments][2][Applets][3][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][3][Configuration][General] +favorites=preferred://browser,/usr/share/applications/org.kde.kontact.desktop,/usr/share/applications/writer.desktop,/usr/share/applications/kde4/org.kde.amarok.desktop,/usr/share/applications/org.kde.digikam.desktop,/usr/share/applications/org.kde.dolphin.desktop,/usr/share/applications/systemsettings.desktop,/usr/share/applications/org.kde.Help.desktop,/usr/share/applications/org.kde.konsole.desktop +favoritesPortedToKAstats=true +systemApplications=systemsettings.desktop,org.kde.kinfocenter.desktop + +[Containments][2][Applets][3][Configuration][Shortcuts] +global=Alt+F1 + +[Containments][2][Applets][3][Shortcuts] +global=Alt+F1 + +[Containments][2][Applets][4] +immutability=1 +plugin=org.kde.plasma.pager + +[Containments][2][Applets][4][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][4][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][2][Applets][5] +immutability=1 +plugin=org.kde.plasma.taskmanager + +[Containments][2][Applets][5][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][5][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][2][Applets][5][Configuration][General] +groupingStrategy=0 +showOnlyCurrentActivity=false +showOnlyCurrentDesktop=true + +[Containments][2][Applets][6] +immutability=1 +plugin=org.kde.plasma.systemtray + +[Containments][2][Applets][6][Configuration] +PreloadWeight=0 +SystrayContainmentId=44 + +[Containments][2][Applets][8] +immutability=1 +plugin=org.kde.plasma.digitalclock + +[Containments][2][Applets][8][Configuration] +PreloadWeight=0 + +[Containments][2][Applets][8][Configuration][Appearance] +showDate=true +showSeconds=true +use24hFormat=0 + +[Containments][2][Applets][8][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][2][ConfigDialog] +DialogHeight=84 +DialogWidth=1600 + +[Containments][2][Configuration] +PreloadWeight=0 + +[Containments][2][General] +AppletOrder=3;20;19;5;4;17;8;6 + +[Containments][23] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=3 +plugin=org.kde.panel +wallpaperplugin=org.kde.image + +[Containments][23][Applets][25] +immutability=1 +plugin=org.kde.plasma.pager + +[Containments][23][Applets][25][Configuration] +PreloadWeight=0 + +[Containments][23][Applets][26] +immutability=1 +plugin=org.kde.plasma.taskmanager + +[Containments][23][Applets][26][Configuration] +PreloadWeight=0 + +[Containments][23][Applets][26][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][23][Applets][27] +immutability=1 +plugin=org.kde.plasma.systemtray + +[Containments][23][Applets][27][Configuration] +PreloadWeight=100 +SystrayContainmentId=46 + +[Containments][23][Applets][29] +immutability=1 +plugin=org.kde.plasma.digitalclock + +[Containments][23][Applets][29][Configuration] +PreloadWeight=100 + +[Containments][23][Applets][29][Configuration][Appearance] +showDate=true +showSeconds=true +use24hFormat=0 + +[Containments][23][Applets][29][Configuration][ConfigDialog] +DialogHeight=480 +DialogWidth=640 + +[Containments][23][Applets][30] +immutability=1 +plugin=org.kde.plasma.showdesktop + +[Containments][23][Applets][30][Configuration] +PreloadWeight=0 + +[Containments][23][Applets][39] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][39][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/geany.desktop +url=file:///usr/share/applications/geany.desktop + +[Containments][23][Applets][40] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][40][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/chromium-browser.desktop +url=file:///usr/share/applications/chromium-browser.desktop + +[Containments][23][Applets][41] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][41][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/nvim-konsole.desktop +url=file:///home/hari/.local/share/applications/nvim-konsole.desktop + +[Containments][23][Applets][42] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][42][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/systemsettings.desktop +url=file:///usr/share/applications/systemsettings.desktop + +[Containments][23][Applets][43] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][43][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/org.gnome.Calculator.desktop +url=file:///usr/share/applications/org.gnome.Calculator.desktop + +[Containments][23][Applets][59] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][59][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/calc.desktop +url=file:///usr/share/applications/calc.desktop + +[Containments][23][Applets][62] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][62][Configuration] +PreloadWeight=0 +localPath=/home/hari/.local/share/plasma_icons/kcm_kscreen.desktop +url=file:///usr/share/kservices5/kcm_kscreen.desktop + +[Containments][23][Applets][71] +immutability=1 +plugin=org.kde.plasma.kickoff + +[Containments][23][Applets][71][Configuration] +PreloadWeight=100 + +[Containments][23][Applets][71][Configuration][ConfigDialog] +DialogHeight=660 +DialogWidth=880 + +[Containments][23][Applets][71][Configuration][General] +favoritesPortedToKAstats=true +icon=openSUSE-distributor-logo +systemApplications=systemsettings.desktop,org.kde.kinfocenter.desktop +useExtraRunners=false + +[Containments][23][Applets][71][Shortcuts] +global=Meta+Space + +[Containments][23][Applets][74] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][74][Configuration] +PreloadWeight=10 +localPath=/home/hari/.local/share/plasma_icons/kcm_kdeconnect.desktop +url=file:///usr/share/kservices5/kcm_kdeconnect.desktop + +[Containments][23][Applets][75] +immutability=1 +plugin=org.kde.plasma.icon + +[Containments][23][Applets][75][Configuration] +PreloadWeight=42 +localPath=/home/hari/.local/share/plasma_icons/firefox.desktop +url=file:///usr/share/applications/firefox.desktop + +[Containments][23][ConfigDialog] +DialogHeight=90 +DialogWidth=1920 + +[Containments][23][Configuration] +PreloadWeight=0 + +[Containments][23][General] +AppletOrder=71;43;40;75;39;74;59;41;42;62;26;25;27;29;30 + +[Containments][46] +activityId= +formfactor=2 +immutability=1 +lastScreen=0 +location=3 +plugin=org.kde.plasma.private.systemtray +wallpaperplugin=org.kde.image + +[Containments][46][Applets][47] +immutability=1 +plugin=org.kde.plasma.volume + +[Containments][46][Applets][47][Configuration] +PreloadWeight=100 + +[Containments][46][Applets][47][Configuration][ConfigDialog] +DialogHeight=660 +DialogWidth=880 + +[Containments][46][Applets][48][Configuration] +PreloadWeight=42 + +[Containments][46][Applets][49] +immutability=1 +plugin=org.kde.plasma.devicenotifier + +[Containments][46][Applets][49][Configuration] +PreloadWeight=100 + +[Containments][46][Applets][50] +immutability=1 +plugin=org.kde.plasma.keyboardindicator + +[Containments][46][Applets][50][Configuration] +PreloadWeight=5 + +[Containments][46][Applets][51] +immutability=1 +plugin=org.kde.plasma.notifications + +[Containments][46][Applets][51][Configuration] +PreloadWeight=15 + +[Containments][46][Applets][51][Configuration][ConfigDialog] +DialogHeight=1017 +DialogWidth=1920 + +[Containments][46][Applets][52] +immutability=1 +plugin=org.kde.plasma.battery + +[Containments][46][Applets][52][Configuration] +PreloadWeight=50 + +[Containments][46][Applets][53] +immutability=1 +plugin=org.kde.plasma.networkmanagement + +[Containments][46][Applets][53][Configuration] +PreloadWeight=100 + +[Containments][46][Applets][53][Configuration][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][46][Applets][54] +immutability=1 +plugin=org.kde.plasma.bluetooth + +[Containments][46][Applets][54][Configuration] +PreloadWeight=2 + +[Containments][46][Applets][55] +immutability=1 +plugin=org.kde.plasma.mediacontroller + +[Containments][46][Applets][55][Configuration] +PreloadWeight=15 + +[Containments][46][Applets][56][Configuration] +PreloadWeight=42 + +[Containments][46][Applets][58] +immutability=1 +plugin=org.kde.kdeconnect + +[Containments][46][Applets][58][Configuration] +PreloadWeight=0 + +[Containments][46][Applets][61] +immutability=1 +plugin=org.kde.plasma.nightcolorcontrol + +[Containments][46][Applets][61][Configuration] +PreloadWeight=0 + +[Containments][46][Applets][75][Configuration] +PreloadWeight=42 + +[Containments][46][ConfigDialog] +DialogHeight=540 +DialogWidth=720 + +[Containments][46][Configuration] +PreloadWeight=0 + +[Containments][46][General] +extraItems=org.kde.plasma.volume,org.kde.plasma.keyboardindicator,org.kde.plasma.mediacontroller,org.kde.plasma.devicenotifier,org.kde.plasma.networkmanagement,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.notifications,org.kde.kdeconnect,org.kde.plasma.nightcolorcontrol +iconSize=1 +knownItems=org.kde.plasma.volume,org.kde.plasma.keyboardindicator,org.kde.plasma.mediacontroller,org.kde.plasma.devicenotifier,org.kde.plasma.clipboard,org.kde.plasma.networkmanagement,org.kde.plasma.battery,org.kde.plasma.bluetooth,org.kde.plasma.notifications,org.kde.kdeconnect,org.kde.plasma.nightcolorcontrol + +[Containments][63] +ItemGeometriesHorizontal= +activityId=1de2555c-8dce-4b05-9048-0576a7cc6b7a +formfactor=0 +immutability=1 +lastScreen=0 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][63][ConfigDialog] +DialogHeight=660 +DialogWidth=880 + +[Containments][63][Configuration] +PreloadWeight=0 + +[Containments][63][General] +ToolBoxButtonState=topcenter +ToolBoxButtonX=717 +ToolBoxButtonY=34 +positions=1,15,desktop:/arduino-arduinoide.desktop,0,0,desktop:/LTspice XVII.desktop,0,1,desktop:/spacefm.desktop,0,2 +sortMode=-1 + +[Containments][63][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/openSUSEdefault/contents/images/1920x1080.jpg + +[Containments][64] +activityId=1de2555c-8dce-4b05-9048-0576a7cc6b7a +formfactor=0 +immutability=1 +lastScreen=4 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][64][Configuration] +PreloadWeight=0 + +[Containments][64][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/openSUSEdefault/contents/images/1920x1080.jpg + +[Containments][65] +ItemGeometriesHorizontal= +activityId=1de2555c-8dce-4b05-9048-0576a7cc6b7a +formfactor=0 +immutability=1 +lastScreen=1 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][65][Configuration] +PreloadWeight=0 + +[Containments][65][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/Next/contents/images/1920x1080.jpg + +[Containments][72] +activityId=1de2555c-8dce-4b05-9048-0576a7cc6b7a +formfactor=0 +immutability=1 +lastScreen=5 +location=0 +plugin=org.kde.plasma.folder +wallpaperplugin=org.kde.image + +[Containments][72][Configuration] +PreloadWeight=10 + +[Containments][72][Wallpaper][org.kde.image][General] +Image=file:///usr/share/wallpapers/Next/contents/images/1920x1080.jpg + +[Containments63Appletsts][68][Configuration][General] +noteId=833e4740-3210-484e-8f6a-a547231739 + +[General] +immutability=1 + +[ScreenMapping] +itemsOnDisabledScreens= +screenMapping=desktop:/arduino-arduinoide.desktop,0,desktop:/LTspice XVII.desktop,0,desktop:/spacefm.desktop,0 diff --git a/home/.local/Apps/daily-utils/bin/_hari-tools-completion.sh b/home/.local/Apps/daily-utils/bin/_hari-tools-completion.sh new file mode 100755 index 0000000..80fb188 --- /dev/null +++ b/home/.local/Apps/daily-utils/bin/_hari-tools-completion.sh @@ -0,0 +1,17 @@ + +allCmds=$( hari-tools.sh list_all_commands ) +_complete_hari_utils(){ + saveIFS=$IFS + IFS=$'\n' + case $COMP_CWORD in + 1) + COMPREPLY=( $( compgen -W "$allCmds" -- "${COMP_WORDS[COMP_CWORD]}") ) + ;; + *) + COMPREPLY=( $( compgen -o default -- "${COMP_WORDS[COMP_CWORD]}") ) + ;; + esac + IFS="$saveIFS" + return 0 +} +complete -F _complete_hari_utils hari-tools.sh diff --git a/home/.local/Apps/daily-utils/bin/bash-session b/home/.local/Apps/daily-utils/bin/bash-session index a0ca13b..67a77e0 100755 --- a/home/.local/Apps/daily-utils/bin/bash-session +++ b/home/.local/Apps/daily-utils/bin/bash-session @@ -1,9 +1,4 @@ #!/usr/bin/env bash export HISTSIZE=10000 export HISTFILE=$PWD/.bash_history - -if [[ $1 == '-n' ]]; then - xdg-terminal & -else - bash -fi +bash diff --git a/home/.local/Apps/daily-utils/bin/hari-tools.sh b/home/.local/Apps/daily-utils/bin/hari-tools.sh index af7f19f..53e0df1 100755 --- a/home/.local/Apps/daily-utils/bin/hari-tools.sh +++ b/home/.local/Apps/daily-utils/bin/hari-tools.sh @@ -1,19 +1,5 @@ #!/usr/bin/env bash -THIS_DIR=$(dirname $(readlink -f $0)) -THIS_FILE=$0 -# Maximum allowed length of function name. longer names will break tabular display -MAX_FN_NAME_LEN=30 -# Maximum number of documentation lines -MAX_DOC_LINES=3 - -# list all available commands -list-commands(){ - typeset -F | cut -d ' ' -f 3 | grep -v '^_' | sort -} - -# list available fonts for a language. -# Usage: THIS_FN fonts_for_lang(){ fc-list :lang=$1 } @@ -31,22 +17,19 @@ sshInTabs(){ done } -# Edit this file edit(){ ${EDITOR:-vim} ~/.local/Apps/daily-utils/bin/hari-tools.sh } -# convert text to 8k 1ch wav +# convert text to 8k wav genSound(){ echo $1 | espeak --stdout | ffmpeg -i - -ar 8000 -y $2.wav ; } -# Clear SysRq-r if enabled clearSysRq(){ sudo kbd_mode -s -C /dev/tty7 } -# Print current public ip using ipify API myIp(){ curl 'https://api.ipify.org?format=json' } @@ -92,7 +75,6 @@ block_dev_to_vmdk(){ # Decode sha256 id shown in ssh log ssh-sha256-decode(){ awk '{print $2}' $1 | base64 -d | sha256sum -b | awk '{print $1}' | xxd -r -p | base64 ; } -# Git clone project into Downloads directory, and keep copy of the same as archive githubdl(){ cd ~/Downloads git clone $1 @@ -101,17 +83,17 @@ githubdl(){ mksquashfs ./$projName $projName.sqfs } -# Uniq command awk version uniq(){ awk '!array[$0]++' } -# Convert video webm format ( optional 2 pass encoding ) video_to_webm(){ src="$(readlink -f "$1")" dest="$(readlink -f "$2")" deadline=good cpu_param='--cpu-used=16' + # cpu_param='' + # deadline=best CODEC=${CODEC:-vp8} framesCount=$(ffmpeg -i "$src" -vcodec copy -acodec copy -f null /dev/null 2>&1 | grep 'frame=' | sed 's/frame= *\([0-9]*\).*/\1/' ) echo "Frames count = $framesCount . If speed=10 fps, it will take $( python -S -c 'print("%2.2f" % ('$framesCount'/10.0/60))' ) minutes" @@ -123,19 +105,40 @@ video_to_webm(){ ffmpeg -i "$src" -f yuv4mpegpipe - 2>/dev/null | vpxenc ${cpu_param} --codec=$CODEC -p 2 --${deadline} -o "$dest" --fpf="$pass1File" --pass=2 /dev/stdin rm $pass1File fi + +# tmpFile=$(date +%s).webm +# tmpdir=~/.cache/hari-utils/video_to_webm +# mkdir -p $tmpdir +# rm $tmpdir/* +# cd $tmpdir +# echo "Running first pass ..." +# ffmpeg -i "$src" -c:v libvpx-vp9 -pass 1 -b:v 1000K -threads 8 -speed 4 \ +# -tile-columns 6 -frame-parallel 1 \ +# -an -f webm /dev/null +# +# echo "Now Second pass ..." +# ffmpeg -i "$src" -c:v libvpx-vp9 -pass 2 -b:v 1000K -threads 8 -speed 1 \ +# -tile-columns 6 -frame-parallel 1 -auto-alt-ref 1 -lag-in-frames 25 \ +# -c:a libopus -b:a 64k -f webm "$tmpFile" +# mv "$tmpFile" "$dest" } -# Record desktop to h264 mp4 using ffmpeg record_desktop(){ + # ffmpeg -report -f x11grab -draw_mouse 1 -framerate 10 -video_size 1600x900 \ + # -i :0+0,0 -f alsa -ac 2 -i hw:0,0 -pix_fmt yuv420p -c:v h264 -c:a libmp3lame \ + # -q:v 1 -s 1600x900 -f mp4 ~/Videos/myscreencast-$(date +%F_%T).mp4 + ffmpeg -vaapi_device /dev/dri/renderD128 -f x11grab -draw_mouse 1 -video_size 1600x900 \ -i :0 -f alsa -ac 2 -i hw:0,0 -vf 'hwupload,scale_vaapi=format=nv12' -c:v h264_vaapi -qp 32 ~/Videos/myscreencast-$(date +%F_%T).mp4 } +list_all_commands(){ + typeset -F | cut -d ' ' -f 3 | grep -v '^_' +} + -# Bulk replace string in all files in the directory bulk_replace(){ - set -u old=$1 new=$2 ag -l "$old" | xargs -l sed -i "s/${old}/${new}/g" @@ -143,7 +146,6 @@ bulk_replace(){ } -# Import csv file into postgres table by autogenerating table and column names psql_csv_table(){ local db=$1 shift @@ -168,7 +170,6 @@ EOF cat "$src" | psql "$@" $db -c "COPY \"$tbl\"( $( echo $cols | sed -E -e "s/'/\"/g" -e 's/([^,]*)/\1/g' ) ) FROM STDIN CSV HEADER" } -# Swap two files swap() { local TMPFILE=tmp.$$; mv "$1" $TMPFILE; @@ -176,51 +177,22 @@ swap() { mv $TMPFILE "$2"; } -# Reload kwin Compositor kwinCompositorReload(){ qdbus-qt5 org.kde.KWin /Compositor suspend qdbus-qt5 org.kde.KWin /Compositor resume } -# List available vaccine centers -cowin_list(){ - curl -s -X GET \ - "https://cdn-api.co-vin.in/api/v2/appointment/sessions/public/calendarByDistrict?district_id=303&date=$(date +'%d-%m-%Y' --date '0 day')" \ - -H "accept: application/json" \ - -H 'user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36' | jq -} - - -# Setup autocomplete. run eval "$(THIS_FILE setup-autocomplete)" -setup-autocomplete(){ - cat<